SetExceptionTypeTest.php 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. <?php
  2. namespace Tests\Services\OrderPackageReceivedSyncService;
  3. use App\Order;
  4. use App\OrderPackage;
  5. use App\Services\OrderPackageReceivedSyncService;
  6. use Tests\TestCase;
  7. use App\Traits\TestMockSubServices;
  8. class SetExceptionTypeTest extends TestCase
  9. {
  10. use TestMockSubServices;
  11. /** @var OrderPackageReceivedSyncService $service */
  12. public $service;
  13. private $data;
  14. private $amount = 2;
  15. function setUp(): void
  16. {
  17. parent::setUp();
  18. $this->service = app('OrderPackageReceivedSyncService');
  19. $this->data['orderPackage'] = [];
  20. $this->data['order'] = [];
  21. }
  22. public function testReturned()
  23. {
  24. $this->assertTrue(true);
  25. }
  26. function tearDown(): void
  27. {
  28. OrderPackage::query()->whereIn('id', $this->data['orderPackage'])->delete();
  29. Order::query()->whereIn('id', $this->data['order'])->delete();
  30. parent::tearDown();
  31. }
  32. /**
  33. * @test
  34. */
  35. public function 超过24小时未揽件()
  36. {
  37. $order = factory(Order::class)->create();
  38. $orderPackage = factory(OrderPackage::class)->create([
  39. 'order_id' => $order->id,
  40. 'sent_at' => now()->subHours(25),
  41. "logistic_number" => 4314543143889
  42. ]);
  43. $this->data['orderPackage'][] = $orderPackage->id;
  44. $this->data['order'][] = $order->id;
  45. $data = [
  46. "logistic_number" => "4314543143889",
  47. "status" => "在途",
  48. "transfer_status" => [
  49. [
  50. "accept_time" => "2021-05-17 19:34:34",
  51. "accept_address" => "【上海市】上海松江区九亭公司 -张东东(18116299116) 已揽收",
  52. "remark" => ""
  53. ],
  54. [
  55. "accept_time" => "2021-05-18 00:14:26",
  56. "accept_address" => "【上海市】已到达 上海分拨中心",
  57. "remark" => "",
  58. ],
  59. [
  60. "accept_time" => "2021-05-18 00:21:23",
  61. "accept_address" => "【上海市】已离开 上海分拨中心,发往 浙江嘉兴分拨中心",
  62. "remark" => "",
  63. ],
  64. [
  65. "accept_time" => "2021-05-18 05:17:43",
  66. "accept_address" => "【嘉兴市】已到达 浙江嘉兴分拨中心",
  67. "remark" => "",
  68. ],
  69. [
  70. "accept_time" => "2021-05-18 05:20:37",
  71. "accept_address" => "【嘉兴市】已离开 浙江嘉兴分拨中心,发往 浙江嘉善县公司",
  72. "remark" => "",
  73. ],
  74. [
  75. "accept_time" => "2021-05-18 06:58:04",
  76. "accept_address" => "【嘉兴市】已到达 浙江嘉善县公司",
  77. "remark" => "",
  78. ],
  79. [
  80. "accept_time" => "2021-05-18 07:47:29",
  81. "accept_address" => "【嘉兴市】浙江嘉善县公司 快递员黄建林(17816502922) 正在为您派送。快件已消毒,小哥体温正常,将佩戴口罩为您派送,您也可联系小哥将快件放置指定代收点或快递柜,祝您身体健康【95121为韵达快递员外呼专属号码,请放心接听】",
  82. "remark" => "",
  83. ],
  84. [
  85. "accept_time" => "2021-05-18 12:04:50",
  86. "accept_address" => "【代收点】您的快件已暂存至 金都上品游泳池旁丰巢柜3号柜 保管,地址:金都上品游泳池旁丰巢柜3号柜,请及时领取,如有疑问请电联快递员:黄建林(17816502922),投诉电话:0571-28914641",
  87. "remark" => "",
  88. ],
  89. ],
  90. "exception_type" => null,
  91. "exception" => null,
  92. "routes_length" => 1,
  93. ];
  94. $result = $this->service->setExceptionType($data, $data['transfer_status'][count($data['transfer_status']) - 1]['accept_time']);
  95. $this->assertEquals('揽件异常', $result['exception_type']);
  96. }
  97. }