SyncOrderTest.php 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. namespace Tests\Services\OrderService\SyncOrderTest;
  3. use App\Logistic;
  4. use App\Owner;
  5. use App\Services\common\DataHandlerService;
  6. use App\Services\LogisticService;
  7. use App\OracleDOCOrderHeader;
  8. use App\Services\OracleDOCOrderHeaderService;
  9. use App\Services\OrderService;
  10. use App\Services\OwnerService;
  11. use App\Services\ShopService;
  12. use App\Services\WarehouseService;
  13. use App\Shop;
  14. use App\Warehouse;
  15. use Carbon\Carbon;
  16. use Illuminate\Foundation\Testing\RefreshDatabase;
  17. use Illuminate\Foundation\Testing\WithFaker;
  18. use Tests\TestCase;
  19. class SyncOrderTest extends TestCase
  20. {
  21. /**
  22. * @var OrderService $service
  23. * @var OracleDOCOrderHeaderService $orderHeaderService
  24. * @var DataHandlerService $dataHandlerService
  25. * @var OwnerService $ownerService
  26. * @var LogisticService $logisticService
  27. * @var ShopService $shopService
  28. * @var WarehouseService $warehouseService
  29. */
  30. public $service;
  31. public $orderHeaderService;
  32. public $dataHandlerService;
  33. public $ownerService;
  34. public $logisticService;
  35. public $shopService;
  36. public $warehouseService;
  37. public function setUp(): void
  38. {
  39. parent::setUp();
  40. $this->service=app(OrderService::class);
  41. $this->orderHeaderService=app(OracleDOCOrderHeaderService::class);
  42. }
  43. public function testCreateOrUpdateOrderInfo()
  44. {
  45. $order = OracleDOCOrderHeader::query();
  46. $carbon =Carbon::now()->subHours(1);
  47. $date = '2020-05-18 18:13:50';
  48. $orderHeader = OracleDOCOrderHeader::query()->selectRaw(implode(',',OracleDOCOrderHeaderService::$columns))
  49. ->with(['oracleBASCustomer'=>function($query){
  50. $query->selectRaw('BAS_CUSTOMER.CustomerID,BAS_CUSTOMER.Customer_Type,BAS_CUSTOMER.Descr_C,BAS_CUSTOMER.Active_Flag');
  51. },'oracleDOCOrderDetails'=>function($query){
  52. $query->selectRaw('doc_order_details.orderNo,doc_order_details.customerid,doc_order_details.sku,doc_order_details.QtyOrdered');
  53. }, 'actAllocationDetails'=>function($query){
  54. $query->selectRaw('ACT_Allocation_Details.AllocationDetailsID,ACT_Allocation_Details.OrderNo,ACT_Allocation_Details.Qty_Each,ACT_Allocation_Details.PickToTraceID,ACT_Allocation_Details.CustomerID,ACT_Allocation_Details.Sku');
  55. },'oracleBASCode'=>function($query){
  56. $query->selectRaw('BAS_Codes.CodeID,BAS_Codes.CodeName_C,BAS_Codes.Code');
  57. }])
  58. ->where('DOC_Order_Header.EditTime','>=',$carbon)
  59. ->get();
  60. $this->service->syncOrder($orderHeader);
  61. $order = $this->service->getByWmsOrders($orderHeader);
  62. $this->assertNotNull($order);
  63. $this->assertNotNull($orderHeader);
  64. }
  65. public function tearDown(): void
  66. {
  67. parent::tearDown(); // TODO: Change the autogenerated stub
  68. }
  69. }