GetByWmsOrdersTest.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  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. use RefreshDatabase;
  12. /** @var OrderService $service */
  13. public $service;
  14. public function setUp(): void
  15. {
  16. parent::setUp();
  17. $this->service = app('OrderService');
  18. }
  19. public function testGetByWmsOrders()
  20. {
  21. $orderHeader = OracleDOCOrderHeader::query()->where('sostatus',99)->orderByDesc('addtime')->first();
  22. $orderHeaders = OracleDOCOrderHeader::query()
  23. ->where('sostatus',99)
  24. ->where('addtime','>=',$orderHeader->addtime)
  25. ->get();
  26. $order_nos = data_get($orderHeaders,'*.orderno');
  27. $this->service->syncOrder($orderHeaders);
  28. $orders = Order::query()->whereIn('code',$order_nos)->get();
  29. $this->assertEquals($orders->count(),$orders->count());
  30. foreach ($orderHeaders as $orderHeader) {
  31. $this->assertNotNull($orders->where('code',$orderHeader->orderno));
  32. }
  33. }
  34. }