50 lines
1.5 KiB
TypeScript
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,
|
|
})
|
|
})
|