From 50eb586e233efc80da1614df632ec9f3295b42a9 Mon Sep 17 00:00:00 2001 From: limeng <1131177064@qq.com> Date: Wed, 23 Sep 2026 17:39:32 +0800 Subject: [PATCH] =?UTF-8?q?test:=20=E4=BF=9D=E6=8A=A4=E5=8F=91=E8=B4=A7?= =?UTF-8?q?=E9=95=9C=E5=83=8F=E6=BC=94=E7=A4=BA=E6=95=B0=E6=8D=AE=E6=B8=85?= =?UTF-8?q?=E7=90=86=E8=BE=B9=E7=95=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ShippingReplicaSynchronizerTest.php | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 tests/Unit/EcommerceFinance/ShippingReplicaSynchronizerTest.php diff --git a/tests/Unit/EcommerceFinance/ShippingReplicaSynchronizerTest.php b/tests/Unit/EcommerceFinance/ShippingReplicaSynchronizerTest.php new file mode 100644 index 00000000..b55584e2 --- /dev/null +++ b/tests/Unit/EcommerceFinance/ShippingReplicaSynchronizerTest.php @@ -0,0 +1,39 @@ +table('jst_oms_shipping')->insert([ + ['source_id' => 9000001, 'sku_source_id' => 9000001], + ['source_id' => 9000006, 'sku_source_id' => 9000006], + ['source_id' => 9000007, 'sku_source_id' => 9000007], + ['source_id' => 999999999, 'sku_source_id' => 999999999], + ]); + + $upstream = $this->createMock(UpstreamReadOnlyQuery::class); + $upstream->expects($this->once())->method('select')->willReturn([]); + $factory = $this->createMock(UpstreamReadOnlyQueryFactory::class); + $factory->expects($this->once()) + ->method('forSource') + ->with('operations_replica') + ->willReturn($upstream); + + $result = (new ShippingReplicaSynchronizer($factory))->sync(); + + $this->assertSame(['processed' => 0, 'autoship' => 0], $result); + $this->assertSame( + [9000007, 999999999], + $db->table('jst_oms_shipping')->orderBy('source_id')->pluck('source_id')->map(fn ($id) => (int) $id)->all(), + ); + } +}