| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207 |
- <?php
- namespace Tests\Services\LogisticSFService;
- use App\OrderPackage;
- use App\Services\LogisticSFService;
- use Tests\TestCase;
- class SetExceptionStatusTest extends TestCase
- {
- /**
- * @var LogisticSFService $service
- */
- private $service;
- protected function setUp(): void
- {
- parent::setUp(); // TODO: Change the autogenerated stub
- $this->service = app('LogisticSFService');
- }
- public function test_单号异常()
- {
- OrderPackage::query()->where('logistic_number', 'SF1332897469263_1')->delete();
- $data = [
- "logistic_number" => "SF1332897469263_1",
- "status" => "已签收",
- "received_at" => "2021-09-09 12:11:03",
- "transfer_status" => [
- ["accept_time" => "2021-09-08 19:25:42", "accept_address" => "上海市", "remark" => "顺丰速运 已收取快件",],
- ["accept_time" => "2021-09-08 19:25:42", "accept_address" => "上海市", "remark" => "顺丰速运 已收取快件",],
- ["accept_time" => "2021-09-08 19:25:42", "accept_address" => "上海市", "remark" => "顺丰速运 已收取快件",],
- ["accept_time" => "2021-09-08 19:25:42", "accept_address" => "上海市", "remark" => "顺丰速运 已收取快件",],
- ],
- ];
- factory(OrderPackage::class)->create([
- 'status' => "生成订单",
- 'exception_status' => "单号异常",
- 'logistic_number' => 'SF1332897469263_1',
- ]);
- $response = $this->service->setExceptionStatus($data);
- OrderPackage::query()->where('logistic_number', 'SF1332897469263_1')->delete();
- $this->assertEquals($data, $response);
- }
- public function test_延迟发货_16()
- {
- OrderPackage::query()->where('logistic_number', 'SF1332897469263')->delete();
- $data = [
- "logistic_number" => "SF1332897469263",
- "status" => "已签收",
- "received_at" => "2021-09-09 12:11:03",
- "transfer_status" => [],
- ];
- factory(OrderPackage::class)->create([
- 'status' => "生成订单",
- 'logistic_number' => 'SF1332897469263',
- 'transfer_status' => null,
- 'sent_at' => null,
- 'created_at' => now()->subDays(3),
- ]);
- $response = $this->service->setExceptionStatus($data);
- OrderPackage::query()->where('logistic_number', 'SF1332897469263')->delete();
- $this->assertEquals('延迟发货', $response['exception_status']);
- }
- public function test_疑似库内丢件()
- {
- OrderPackage::query()->where('logistic_number', 'SF1332897469263')->delete();
- $data = [
- "logistic_number" => "SF1332897469263",
- "status" => "已签收",
- "received_at" => "2021-09-09 12:11:03",
- "transfer_status" => [],
- ];
- factory(OrderPackage::class)->create([
- 'status' => "生成订单",
- 'logistic_number' => 'SF1332897469263',
- 'transfer_status' => null,
- 'sent_at' => now()->subDays(3),
- 'created_at' => now()->subDays(3),
- 'weighed_at' => null,
- ]);
- $response = $this->service->setExceptionStatus($data);
- OrderPackage::query()->where('logistic_number', 'SF1332897469263')->delete();
- $this->assertEquals('疑似库内丢件', $response['exception_status']);
- }
- public function test_揽件异常()
- {
- OrderPackage::query()->where('logistic_number', 'SF1332897469263')->delete();
- $data = [
- "logistic_number" => "SF1332897469263",
- "status" => "已签收",
- "received_at" => "2021-09-09 12:11:03",
- "transfer_status" => [],
- ];
- factory(OrderPackage::class)->create([
- 'status' => "生成订单",
- 'logistic_number' => 'SF1332897469263',
- 'transfer_status' => null,
- 'sent_at' => now()->subDays(3),
- 'created_at' => now()->subDays(3),
- 'weighed_at' => now()->subDays(2),
- ]);
- $response = $this->service->setExceptionStatus($data);
- OrderPackage::query()->where('logistic_number', 'SF1332897469263')->delete();
- $this->assertEquals('揽件异常', $response['exception_status']);
- }
- public function test_在途异常大于3上海()
- {
- OrderPackage::query()->where('logistic_number', 'SF1332897469263')->delete();
- $data = [
- "logistic_number" => "SF1332897469263",
- "status" => "在途",
- "received_at" => null,
- "transfer_status" => [
- ["accept_time" => "2021-09-06 19:25:42", "accept_address" => "上海市", "remark" => "顺丰速运 已收取快件",],
- ["accept_time" => "2021-09-07 19:25:42", "accept_address" => "上海市", "remark" => "顺丰速运 已收取快件",],
- ["accept_time" => "2021-09-08 19:25:42", "accept_address" => "上海市", "remark" => "顺丰速运 已收取快件",],
- ["accept_time" => now()->subHours(25)->toDateTimeString(), "accept_address" => "上海市", "remark" => "顺丰速运 已收取快件",],
- //最近一条是在24h前
- ],
- ];
- $order = factory(\App\Order::class)->create([
- 'province' =>'上海'
- ]);
- factory(OrderPackage::class)->create([
- 'status' => "生成订单",
- 'logistic_number' => 'SF1332897469263',
- 'transfer_status' => OrderPackage::switchStatus('在途'),
- 'sent_at' => now()->subDays(3),
- 'created_at' => now()->subDays(3),
- 'weighed_at' => now()->subDays(2),
- 'order_id' =>$order->id,
- ]);
- $response = $this->service->setExceptionStatus($data);
- OrderPackage::query()->where('logistic_number', 'SF1332897469263')->delete();
- $this->assertEquals('在途异常', $response['exception_status']);
- }
- public function test_在途异常小于3上海()
- {
- OrderPackage::query()->where('logistic_number', 'SF1332897469263')->delete();
- $data = [
- "logistic_number" => "SF1332897469263",
- "status" => "在途",
- "received_at" => null,
- "transfer_status" => [
- ["accept_time" => "2021-09-08 19:25:42", "accept_address" => "上海市", "remark" => "顺丰速运 已收取快件",],
- ["accept_time" => now()->subHours(25)->toDateTimeString(), "accept_address" => "上海市", "remark" => "顺丰速运 已收取快件",],
- //最近一条是在24h前
- ],
- ];
- $order = factory(\App\Order::class)->create([
- 'province' =>'上海'
- ]);
- factory(OrderPackage::class)->create([
- 'status' => "生成订单",
- 'logistic_number' => 'SF1332897469263',
- 'transfer_status' => OrderPackage::switchStatus('在途'),
- 'sent_at' => now()->subDays(3),
- 'created_at' => now()->subDays(3),
- 'weighed_at' => now()->subDays(2),
- 'order_id' =>$order->id,
- ]);
- $response = $this->service->setExceptionStatus($data);
- OrderPackage::query()->where('logistic_number', 'SF1332897469263')->delete();
- $this->assertEquals('在途异常', $response['exception_status']);
- }
- public function test_在途异常大于3黑龙江()
- {
- OrderPackage::query()->where('logistic_number', 'SF1332897469263')->delete();
- $data = [
- "logistic_number" => "SF1332897469263",
- "status" => "在途",
- "received_at" => null,
- "transfer_status" => [
- ["accept_time" => "2021-08-06 19:25:42", "accept_address" => "上海市", "remark" => "顺丰速运 已收取快件",],
- ["accept_time" => "2021-08-07 19:25:42", "accept_address" => "上海市", "remark" => "顺丰速运 已收取快件",],
- ["accept_time" => "2021-08-08 19:25:42", "accept_address" => "上海市", "remark" => "顺丰速运 已收取快件",],
- ["accept_time" => now()->subHours(73)->toDateTimeString(), "accept_address" => "上海市", "remark" => "顺丰速运 已收取快件",],
- //最近一条是在24h前
- ],
- ];
- $order = factory(\App\Order::class)->create([
- 'province' =>'黑龙江省'
- ]);
- factory(OrderPackage::class)->create([
- 'status' => OrderPackage::switchStatus('在途'),
- 'logistic_number' => 'SF1332897469263',
- 'transfer_status' => [],
- 'sent_at' => now()->subDays(3),
- 'created_at' => now()->subDays(3),
- 'weighed_at' => now()->subDays(2),
- 'order_id' =>$order->id,
- ]);
- $response = $this->service->setExceptionStatus($data);
- OrderPackage::query()->where('logistic_number', 'SF1332897469263')->delete();
- $this->assertEquals('在途异常', $response['exception_status']);
- }
- }
|