CreateOrderPackageTest.php 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. namespace Tests\Services\OrderPackageService\CreateOrderPackageTest;
  3. use App\OracleDOCOrderHeader;
  4. use App\Services\OracleDOCOrderHeaderService;
  5. use App\Services\OrderPackageService;
  6. use App\Services\OrderService;
  7. use Carbon\Carbon;
  8. use Illuminate\Foundation\Testing\RefreshDatabase;
  9. use Illuminate\Foundation\Testing\WithFaker;
  10. use Tests\TestCase;
  11. class CreateOrderPackageTest extends TestCase
  12. {
  13. /**
  14. * @var OrderPackageService $service
  15. * @var OracleDOCOrderHeaderService $orderHeaderService
  16. * @var OrderService $orderService
  17. */
  18. public $service;
  19. public $orderService;
  20. public $orderHeaderService;
  21. public function setUp(): void
  22. {
  23. parent::setUp();
  24. $this->service = app('OrderPackageService');
  25. $this->orderService = app('OrderService');
  26. $this->orderHeaderService = app('OracleDOCOrderHeaderService');
  27. }
  28. public function testCreateOrderPackage()
  29. {
  30. /*
  31. * createOrderPackage($orderHeaders,$orders,$packages)
  32. * */
  33. $carbon =Carbon::now()->subHours(10);
  34. $date = '2020-09-18 18:13:50';
  35. $orderHeaders = $this->orderHeaderService->getWMSOrderOnStartDate($carbon);
  36. if($orderHeaders->count()==0){
  37. var_dump('查询数据为空');
  38. return;
  39. }
  40. $orders = $this->orderService->getByWmsOrders($orderHeaders);
  41. $packages = $this->service->getByWmsOrders($orderHeaders);
  42. $this->service->createOrderPackage($orderHeaders,$orders,$packages);
  43. $exits_packages = $this->service->getByWmsOrders($orderHeaders);
  44. $exits_count = $exits_packages->count();
  45. $logistic_numbers = data_get($orderHeaders,'*.actAllocationDetails.*.picktotraceid');
  46. $logistic_numbers = array_unique(array_diff($logistic_numbers,['',' ','*']));
  47. $this->assertEquals(count($logistic_numbers),$exits_count);
  48. foreach ($logistic_numbers as $logistic_number) {
  49. $exits_package = $exits_packages->where('logistic_number',$logistic_number);
  50. $this->assertEmpty($exits_package);
  51. $this->assertEquals($exits_package->count(),1);
  52. }
  53. }
  54. }