Files
perauset-e2e-mrg0et1k/e2e/tests/steps/inventory.steps.ts
2026-07-11 08:54:43 +02:00

50 lines
1.5 KiB
TypeScript

import { When } from '@cucumber/cucumber'
import type { PerausetWorld } from '../support/world.js'
When('I create an inventory item {string} with unit {string} quantity {int} and minimum {int}', async function (this: PerausetWorld, name: string, unit: string, currentQuantity: number, minimumQuantity: number) {
await this.post('/inventory', {
name,
unit,
currentQuantity,
minimumQuantity,
category: 'kitchen',
})
})
When('I update the inventory item with name {string}', async function (this: PerausetWorld, name: string) {
const itemId = (this as any).itemId
await this.put(`/inventory/${itemId}`, {
itemId,
name,
})
})
When('I list inventory items', async function (this: PerausetWorld) {
await this.get('/inventory')
})
When('I request inventory for item with quantity {int} unit {string} and purpose {string}', async function (this: PerausetWorld, quantity: number, unit: string, purpose: string) {
const itemId = (this as any).itemId
await this.post('/inventory/requests', {
itemId,
quantity,
unit,
purpose,
})
})
When('I review the inventory request with status {string}', async function (this: PerausetWorld, status: string) {
const requestId = (this as any).requestId
await this.post(`/inventory/requests/${requestId}/review`, {
requestId,
status,
})
})
When('I fulfill the inventory request', async function (this: PerausetWorld) {
const requestId = (this as any).requestId
await this.post(`/inventory/requests/${requestId}/fulfill`, {
requestId,
})
})