GetByWmsOrdersTest.php 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. namespace Tests\Services\OrderService\GetByWmsOrdersTest;
  3. use App\OracleDOCOrderHeader;
  4. use App\Order;
  5. use App\Services\OrderService;
  6. use Illuminate\Foundation\Testing\RefreshDatabase;
  7. use Illuminate\Foundation\Testing\WithFaker;
  8. use Tests\TestCase;
  9. class GetByWmsOrdersTest extends TestCase
  10. {
  11. /** @var OrderService $service */
  12. public $service;
  13. public function setUp(): void
  14. {
  15. parent::setUp();
  16. $this->service = app('OrderService');
  17. }
  18. public function testGetByWmsOrders()
  19. {
  20. $orders = Order::query()->orderByDesc('id')->forPage(0,5)->get();
  21. $orderHeader = OracleDOCOrderHeader::query()->whereIn('OrderNo',$orders->map(function($order){
  22. return $order->code;
  23. }))->get();
  24. $order_list = $this->service->getByWmsOrders($orderHeader);
  25. $this->assertIsBool(count($order_list)==count($orders));
  26. $order_codes = $orders->sortBy('code')->map(function($order){
  27. return $order->code;
  28. });
  29. $order_list_codes = $order_list->sortBy('code')->map(function($order){
  30. return $order->code;
  31. });
  32. $this->assertEquals(count($order_list_codes),count($order_codes));
  33. }
  34. }