From 8f7a406e830da4f30211cddd439a7dacacc2aaad Mon Sep 17 00:00:00 2001 From: Asis Ferrer Date: Thu, 25 Jun 2026 03:14:00 +0200 Subject: [PATCH] fix(assets): omit phantom stock line for ASSIGNED assets --- src/actions/import.actions.ts | 2 +- src/use-cases/asset.use-cases.ts | 2 +- tests/integration/use-cases/asset.use-cases.test.ts | 6 ++---- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/actions/import.actions.ts b/src/actions/import.actions.ts index e5b0f03..e0f1ca0 100644 --- a/src/actions/import.actions.ts +++ b/src/actions/import.actions.ts @@ -324,7 +324,7 @@ export async function importItems(formData: ImportFormType) { assetId: newAsset?.id || undefined, quantity: stock || 1, type: assigned ? "ASSIGNMENT" : "IN", - itemId: newItem?.id || undefined, + itemId: assigned ? undefined : newItem?.id || undefined, personId: newPerson?.id || undefined, } diff --git a/src/use-cases/asset.use-cases.ts b/src/use-cases/asset.use-cases.ts index f3b2ef9..68c6e31 100644 --- a/src/use-cases/asset.use-cases.ts +++ b/src/use-cases/asset.use-cases.ts @@ -179,7 +179,7 @@ export async function createAssetUseCase( await MovementService.create( { - itemId, + ...(status === "ASSIGNED" ? {} : { itemId }), assetId: newAsset.id, quantity: 1, type: status === "ASSIGNED" ? "ASSIGNMENT" : "IN", diff --git a/tests/integration/use-cases/asset.use-cases.test.ts b/tests/integration/use-cases/asset.use-cases.test.ts index a69cb5c..d09fc9e 100644 --- a/tests/integration/use-cases/asset.use-cases.test.ts +++ b/tests/integration/use-cases/asset.use-cases.test.ts @@ -235,10 +235,8 @@ describe("asset use-cases", () => { assignmentId: assignment.id, performedById: actor.id, }) - expect(movements[0].stockLines[0]).toMatchObject({ - itemId: item.id, - stockDelta: -1, - }) + expect(movements[0].stockLines).toEqual([]) + expect(movements[0].assetLines).toHaveLength(1) expect(movements[0].assetLines[0]).toMatchObject({ assetId: result.assetId, })