From 55e3c4e21bd43224d863321ada94f3b7cebee112 Mon Sep 17 00:00:00 2001 From: yml2213 Date: Mon, 2 Nov 2026 15:49:33 +0800 Subject: [PATCH] =?UTF-8?q?test(fulfillment):=20=E6=B8=85=E7=90=86?= =?UTF-8?q?=E5=B1=A5=E7=BA=A6=E9=9B=86=E6=88=90=E6=B5=8B=E8=AF=95=E7=94=9F?= =?UTF-8?q?=E6=88=90=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fulfillment-routing.integration.test.ts | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/apps/backend/src/services/fulfillment/fulfillment-routing.integration.test.ts b/apps/backend/src/services/fulfillment/fulfillment-routing.integration.test.ts index 66db5f89..189b3570 100644 --- a/apps/backend/src/services/fulfillment/fulfillment-routing.integration.test.ts +++ b/apps/backend/src/services/fulfillment/fulfillment-routing.integration.test.ts @@ -34,6 +34,7 @@ test( const orderIds: number[] = [] const orderItemIds: number[] = [] const internalSkus = [manualSku, missingAffiliateSku, voucherSku] + let generatedVoucherProductId: number | null = null async function createPendingOrderItem(sku: string) { const order = await query<{ id: number }>( @@ -118,6 +119,7 @@ test( assert.equal(switchedItem.rows[0]?.fulfillment_channel, 'third_party_voucher') assert.equal(switchedItem.rows[0]?.original_channel, 'manual') assert.ok(switchedItem.rows[0]?.canonical_sku?.startsWith('tpv:')) + generatedVoucherProductId = Number(switchedItem.rows[0]?.canonical_product_id || 0) || null const missingAffiliateItemId = await createPendingOrderItem(missingAffiliateSku) const affiliateFailed = await assignChannelByInternalSku({ @@ -193,6 +195,24 @@ test( WHERE provider = '91kaquan' AND shop_id = $1 AND match_key = ANY($2::text[])`, [shopId, internalSkus], ) + if (generatedVoucherProductId) { + await query(`DELETE FROM sales_daily_facts WHERE canonical_product_id = $1`, [ + generatedVoucherProductId, + ]) + await query(`DELETE FROM cost_snapshots WHERE canonical_product_id = $1`, [ + generatedVoucherProductId, + ]) + await query(`DELETE FROM channel_product_mappings WHERE canonical_product_id = $1`, [ + generatedVoucherProductId, + ]) + await query(`DELETE FROM cost_versions WHERE canonical_product_id = $1`, [ + generatedVoucherProductId, + ]) + await query(`DELETE FROM product_catalog WHERE id = $1 AND canonical_sku = $2`, [ + generatedVoucherProductId, + `tpv:${manualSku}`, + ]) + } await closeDb() } },