|
|
@@ -0,0 +1,91 @@
|
|
|
+<?php
|
|
|
+
|
|
|
+namespace Tests\Services\OrderPackageReceivedSyncService;
|
|
|
+
|
|
|
+use App\OrderPackage;
|
|
|
+use App\Services\OrderPackageReceivedSyncService;
|
|
|
+use Carbon\Carbon;
|
|
|
+use Illuminate\Foundation\Testing\RefreshDatabase;
|
|
|
+use Tests\TestCase;
|
|
|
+
|
|
|
+class TestSetExceptionStatus extends TestCase
|
|
|
+{
|
|
|
+ protected $order_package_ids;
|
|
|
+
|
|
|
+ /** @var OrderPackageReceivedSyncService $service */
|
|
|
+ public $service;
|
|
|
+
|
|
|
+ function setUp(): void
|
|
|
+ {
|
|
|
+ parent::setUp();
|
|
|
+ $this->service = app(OrderPackageReceivedSyncService::class);
|
|
|
+ }
|
|
|
+
|
|
|
+ public function testReturned()
|
|
|
+ {
|
|
|
+ $this->assertTrue(true);
|
|
|
+ }
|
|
|
+
|
|
|
+ function tearDown(): void
|
|
|
+ {
|
|
|
+ OrderPackage::destroy($this->order_package_ids);
|
|
|
+ parent::tearDown();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @test
|
|
|
+ */
|
|
|
+ public function test_邮政待揽收_改_已复核()
|
|
|
+ {
|
|
|
+ $logistic_number = 'GM000001';
|
|
|
+ OrderPackage::query()->where('logistic_number', $logistic_number)->delete();
|
|
|
+
|
|
|
+ $order = factory(\App\Order::class)->create([
|
|
|
+ 'logistic_id' => 6
|
|
|
+ ]);
|
|
|
+
|
|
|
+ $orderPackage = factory(OrderPackage::class)->create([
|
|
|
+ 'order_id' => $order->id,
|
|
|
+ 'logistic_number' => $logistic_number,
|
|
|
+ ]);
|
|
|
+ $data = [
|
|
|
+ 'logistic_number' => $logistic_number,
|
|
|
+ 'status' => '在途',
|
|
|
+ 'transfer_status' => [
|
|
|
+ [
|
|
|
+ 'accept_time' => now()->subHours(5)->toDateTimeString(),
|
|
|
+ 'accept_address' => '等待揽收中',
|
|
|
+ 'remark' => '',
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'accept_time' => now()->subHours(2)->toDateTimeString(),
|
|
|
+ 'accept_address' => '商品已下单',
|
|
|
+ 'remark' => '',
|
|
|
+ ],
|
|
|
+ ],
|
|
|
+ ];
|
|
|
+ $res = $this->service->setExceptionStatus($data);
|
|
|
+ $this->assertEquals('已复核',$res['status']);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public function test_如果复核时间大于前一天的18时,则不添加异常信息()
|
|
|
+ {
|
|
|
+ $logistic_number = 'GM000001';
|
|
|
+ OrderPackage::query()->where('logistic_number', $logistic_number)->delete();
|
|
|
+
|
|
|
+
|
|
|
+ $orderPackage = factory(OrderPackage::class)->create([
|
|
|
+ 'logistic_number' => $logistic_number,
|
|
|
+ 'sent_at' => now()->subDay()->startOfDay()->addHours(19),
|
|
|
+ ]);
|
|
|
+ $data = [
|
|
|
+ 'logistic_number' => $logistic_number,
|
|
|
+ 'status' => '在途',
|
|
|
+ 'exception_status' => '在途异常',
|
|
|
+ 'transfer_status' => [],
|
|
|
+ ];
|
|
|
+ $res = $this->service->setExceptionStatus($data);
|
|
|
+ $this->assertEquals(false,isset($res['exception_status']));
|
|
|
+ }
|
|
|
+}
|