GetByWmsOrderTest.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. <?php
  2. namespace Tests\Services\WarehouseService\GetByWmsOrdersTest;
  3. use App\OracleBasCustomer;
  4. use App\Services\WarehouseService;
  5. use App\Warehouse;
  6. use Illuminate\Foundation\Testing\RefreshDatabase;
  7. use Tests\TestCase;
  8. class GetByWmsOrderTest extends TestCase
  9. {
  10. use RefreshDatabase;
  11. /** @var WarehouseService $service */
  12. public $service;
  13. public $data = [];
  14. public function setUp(): void
  15. {
  16. parent::setUp();
  17. $this->service = app(WarehouseService::class);
  18. $basCustomers = OracleBasCustomer::query()->selectRaw('Customer_Type,CustomerId,Descr_C')->where('Customer_Type','WH')->get();
  19. Warehouse::query()->whereNull('id')->delete();
  20. foreach ($basCustomers as $basCustomer) {
  21. $this->data['data'][]['warehouseid'] = $basCustomer->customerid;
  22. }
  23. }
  24. public function testGetByWmsOrder()
  25. {
  26. $warehouses = $this->service->getByWmsOrders($this->data['data']);
  27. $warehouse_ids = data_get($this->data['data'],'*.warehouseid');
  28. $warehouse_s = Warehouse::query()->whereIn('code',$warehouse_ids)->get();
  29. $this->assertEquals($warehouses->count(),$warehouse_s->count());
  30. }
  31. }