GetByWmsOrderTest.php 1.2 KB

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