feat(inventory): support line-based assignments and movements
This commit is contained in:
@@ -46,8 +46,8 @@ describe("item use-cases", () => {
|
||||
expect(result).toEqual({ success: true })
|
||||
|
||||
const item = await prisma.item.findUnique({
|
||||
where: { name: "Laptop" },
|
||||
include: { movements: true },
|
||||
where: { sku: "LAPTOP" },
|
||||
include: { stockMovementLines: { include: { movement: true } } },
|
||||
})
|
||||
|
||||
expect(item).toMatchObject({
|
||||
@@ -56,11 +56,13 @@ describe("item use-cases", () => {
|
||||
stock: 3,
|
||||
deletedAt: null,
|
||||
})
|
||||
expect(item?.movements).toHaveLength(1)
|
||||
expect(item?.movements[0]).toMatchObject({
|
||||
type: "IN",
|
||||
quantity: 3,
|
||||
userId: actor.id,
|
||||
expect(item?.stockMovementLines).toHaveLength(1)
|
||||
expect(item?.stockMovementLines[0]).toMatchObject({
|
||||
stockDelta: 3,
|
||||
})
|
||||
expect(item?.stockMovementLines[0]?.movement).toMatchObject({
|
||||
type: "RECEIPT",
|
||||
performedById: actor.id,
|
||||
})
|
||||
})
|
||||
|
||||
@@ -102,7 +104,7 @@ describe("item use-cases", () => {
|
||||
})
|
||||
|
||||
const stockedItem = await prisma.item.findUniqueOrThrow({
|
||||
where: { name: "Keyboard" },
|
||||
where: { sku: "KEYBOARD" },
|
||||
})
|
||||
|
||||
await expect(deleteItemUseCase(stockedItem.id)).resolves.toEqual({
|
||||
@@ -118,7 +120,7 @@ describe("item use-cases", () => {
|
||||
})
|
||||
|
||||
const emptyItem = await prisma.item.findUniqueOrThrow({
|
||||
where: { name: "Mouse" },
|
||||
where: { sku: "MOUSE" },
|
||||
})
|
||||
|
||||
await expect(deleteItemUseCase(emptyItem.id)).resolves.toEqual({
|
||||
|
||||
Reference in New Issue
Block a user