u
This commit is contained in:
@@ -140,16 +140,22 @@ async function run() {
|
||||
|
||||
// Assert ledger entries
|
||||
const ledgerRows = await store.ledger.listBySku(googleAuthId, trackedArt.sku);
|
||||
assert.equal(ledgerRows.length, 2, 'Should have 2 ledger entries for tracked article (adjust + shipping)');
|
||||
const shippingLedger = ledgerRows.find((l) => l.transaction_type === 'SHIPPING');
|
||||
assert(shippingLedger, 'Shipping ledger entry should exist');
|
||||
assert.equal(shippingLedger.amount, -3, 'Shipping ledger entry should be -3');
|
||||
assert.equal(ledgerRows.length, 3, 'Should have 3 ledger entries for tracked article (adjust + shipment doc + warehouse)');
|
||||
const shipmentDocLedger = ledgerRows.find((l) => l.transaction_type === 'SHIPMENT' && l.warehouse_id == null);
|
||||
assert(shipmentDocLedger, 'Shipment document ledger entry should exist with warehouse_id null');
|
||||
assert.equal(shipmentDocLedger.amount, -3, 'Shipment document ledger entry should be -3');
|
||||
const shipmentWhLedger = ledgerRows.find((l) => l.transaction_type === 'WAREHOUSE' && l.warehouse_id === warehouse.id);
|
||||
assert(shipmentWhLedger, 'Shipment warehouse ledger entry should exist with warehouse_id set');
|
||||
assert.equal(shipmentWhLedger.amount, -3, 'Shipment warehouse ledger entry should be -3');
|
||||
|
||||
// Assert untracked article has 0 warehouse ledger entries
|
||||
// Assert untracked article has 1 document ledger entry and 0 warehouse ledger entries
|
||||
const untrackedLedger = await store.ledger.listBySku(googleAuthId, untrackedArt.sku);
|
||||
assert.equal(untrackedLedger.length, 0, 'Untracked article should not have warehouse ledger entries');
|
||||
assert.equal(untrackedLedger.length, 1, 'Untracked article should have 1 shipment document ledger entry');
|
||||
assert.equal(untrackedLedger[0].transaction_type, 'SHIPMENT');
|
||||
assert.equal(untrackedLedger[0].warehouse_id, null, 'Untracked article should not have warehouse ledger entry');
|
||||
assert.equal(untrackedLedger[0].amount, -2);
|
||||
|
||||
// Assert article history: order goes into history, shipment does NOT
|
||||
// Assert article history: order goes into history, and shipment produces history
|
||||
const history = await store.article.getHistoryBySku(googleAuthId, trackedArt.sku);
|
||||
console.log('Tracked article history:', history.map((h) => h.text));
|
||||
const orderHistory = history.find((h) => h.text === 'Auftrag O-2026-001 (Kunde: "Max Mustermann", Menge: 3, € 59,50)');
|
||||
@@ -159,10 +165,10 @@ async function run() {
|
||||
assert.equal(parsedMeta.type, 'order');
|
||||
assert.equal(parsedMeta.orderId, order.id);
|
||||
assert.equal(parsedMeta.gross, 59.5);
|
||||
const shippingHistory = history.find((h) => h.text.includes('Versand Auftrag'));
|
||||
assert(!shippingHistory, 'Article history should NOT report the shipment');
|
||||
const shipmentHistory = history.find((h) => h.text.startsWith(`Lieferschein ${shipment.number}`) && h.text.includes('Kunde: "Max Mustermann"'));
|
||||
assert(shipmentHistory, 'Article history should report the shipment document');
|
||||
|
||||
// Untracked article also has the order in history, but not the shipment
|
||||
// Untracked article also has the order in history and shipment in history
|
||||
const untrackedHistory = await store.article.getHistoryBySku(googleAuthId, untrackedArt.sku);
|
||||
console.log('Untracked article history:', untrackedHistory.map((h) => h.text));
|
||||
assert(
|
||||
@@ -170,8 +176,8 @@ async function run() {
|
||||
'Untracked article history should contain order creation entry with formatted gross price',
|
||||
);
|
||||
assert(
|
||||
!untrackedHistory.some((h) => h.text.includes('Versand Auftrag')),
|
||||
'Untracked article history should NOT report the shipment',
|
||||
untrackedHistory.some((h) => h.text.startsWith(`Lieferschein ${shipment.number}`)),
|
||||
'Untracked article history should report the shipment',
|
||||
);
|
||||
|
||||
// Test order import with historical date preserves date in article history
|
||||
|
||||
Reference in New Issue
Block a user