GetInnerParamsTest.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. namespace Tests\Services\OrderPackageSerivce\GetInnerParamsTest;
  3. use App\OracleDOCOrderHeader;
  4. use App\Order;
  5. use App\Services\OracleDOCOrderHeaderService;
  6. use App\Services\OrderPackageService;
  7. use App\Services\OrderService;
  8. use Illuminate\Foundation\Testing\RefreshDatabase;
  9. use Illuminate\Foundation\Testing\WithFaker;
  10. use Tests\TestCase;
  11. class GetInnerParamsTest 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 testGetInnerParamsTest()
  29. {
  30. $orderHeader = OracleDOCOrderHeader::query()->with('actAllocationDetails')->orderByDesc('AddTime')->first();
  31. $order = Order::query()->where('code',$orderHeader->orderno)->first();
  32. $inner_params = $this->service->getInnerParams($orderHeader,$order,[]);
  33. $this->assertNotEmpty($inner_params);
  34. $actAllocationDetails = $orderHeader->actAllocationDetails;
  35. foreach ($inner_params as $inner_param) {
  36. $detail = $actAllocationDetails->where('picktotraceid',$inner_param['logistic_number'])->first();
  37. $this->assertNotEmpty($detail);
  38. $this->assertEquals($inner_param['order_id'],$order->id);
  39. $this->assertEquals($inner_param['logistic_number'],$detail->picktotraceid);
  40. $this->assertNotEmpty($inner_param['created_at']);
  41. $this->assertNotEmpty($inner_param['updated_at']);
  42. }
  43. }
  44. }