GetOrderByLogisticNumberTest.php 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. namespace Tests\Services\OrderService\GetOrderByLogisticNumberTest;
  3. use App\Logistic;
  4. use App\OracleDOCOrderHeader;
  5. use App\Order;
  6. use App\OrderPackage;
  7. use App\Owner;
  8. use App\Services\OrderService;
  9. use App\Shop;
  10. use App\Warehouse;
  11. use Illuminate\Foundation\Testing\RefreshDatabase;
  12. use Illuminate\Foundation\Testing\WithFaker;
  13. use Tests\TestCase;
  14. class GetOrderByLogisticNumberTest extends TestCase
  15. {
  16. use RefreshDatabase;
  17. /** @var OrderService $service */
  18. public $service;
  19. public function setUp(): void
  20. {
  21. parent::setUp();
  22. $this->service = app('OrderService');
  23. }
  24. public function testGetOrderByLogisticNumber()
  25. {
  26. $orderHeader = OracleDOCOrderHeader::query()
  27. ->with('actAllocationDetails')
  28. ->where('sostatus',99)
  29. ->orderByDesc('AddTime')->first();
  30. $orderHeaders = OracleDOCOrderHeader::query()
  31. ->where('addtime','>=',$orderHeader->addtime)
  32. ->where('sostatus',99)
  33. ->get();
  34. $this->service->syncOrder($orderHeaders);
  35. $order_package = OrderPackage::query()->orderByDesc('id')->first();
  36. $logistic_number = $order_package->logistic_number;
  37. $order = $this->service->getOrderByLogisticNumber($logistic_number);
  38. $this->assertEquals((string)$orderHeader->addtime,(string)$order->created_at);
  39. $this->assertEquals($orderHeader->orderno,$order->code);
  40. $shop = Shop::query()->where('name',$orderHeader->issuepartyname)->first();
  41. $this->assertEquals($shop->id,$order->shop_id);
  42. $owner = Owner::query()->where('code',$orderHeader->customerid)->first();
  43. $this->assertEquals($owner->id, $order->owner_id);
  44. $this->assertEquals($orderHeader->soreference1,$order->client_code);
  45. $logistic = Logistic::query()->where('code',$orderHeader->userdefine1)->first();
  46. $this->assertEquals($logistic->id,$order->logistic_id);
  47. $this->assertEquals($orderHeader->c_contact,$order->consignee_name);
  48. $consignee_phone = empty($orderHeader->c_tel2)?$orderHeader->c_tel1:$orderHeader->c_tel2;
  49. $this->assertEquals($consignee_phone,$order->consignee_phone);
  50. $this->assertEquals($orderHeader->c_province,$order->province);
  51. $this->assertEquals($orderHeader->c_city,$order->city);
  52. $this->assertEquals($orderHeader->c_district,$order->district);
  53. $this->assertEquals($orderHeader->c_address1,$order->address);
  54. $this->assertEquals($orderHeader->oracleBASCode_codename_c,$order->wms_status);
  55. $warehouse = Warehouse::query()->where('code',$orderHeader->warehouseid)->first();
  56. $this->assertEquals($warehouse->id,$order->warehouse_id);
  57. $this->assertEquals($orderHeader->edittime,$order->wms_edittime);
  58. }
  59. }