GetByWmsTest.php 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <?php
  2. namespace Tests\Services\StoreItemService;
  3. use App\OracleBasCode;
  4. use App\OracleDOCASNHeader;
  5. use App\Owner;
  6. use App\Services\OwnerService;
  7. use App\Services\StoreItemService;
  8. use App\Services\StoreService;
  9. use App\Services\WarehouseService;
  10. use App\Warehouse;
  11. use Illuminate\Support\Facades\DB;
  12. use Tests\TestCase;
  13. class GetByWmsTest extends TestCase
  14. {
  15. /**
  16. * @var StoreService $service
  17. * @var OwnerService $ownerService
  18. * @var WarehouseService $warehouseService
  19. *
  20. */
  21. public $service;
  22. public $asnHeaders;
  23. private $data=[];
  24. public function setUp(): void
  25. {
  26. parent::setUp(); // TODO: Change the autogenerated stub
  27. $this->service=app(StoreItemService::class);
  28. // $this->data['warehouse'] = factory(Warehouse::class)->create(['code'=>'test_wh']);
  29. DB::insert('insert ignore into warehouses (code) values(?)',['test_wh']);
  30. $this->data['warehouse'] = Warehouse::query()->where('code','test_wh')->first();
  31. // $this->data['owner'] = factory(Owner::class)->create(['code'=>'test_owner','name'=>'测试货主']);
  32. DB::insert('insert ignore into owners (code,name) values(?,?)',['test_owner','测试货主']);
  33. $this->data['owner'] = Owner::query()->where('code','test_owner')->where('name','测试货主')->first();
  34. $wmsAsnHeader = factory(OracleDOCASNHeader::class)->make([
  35. 'customerid'=>'test_owner','warehouseid'=>'test_wh','asntype'=>'CSRK','asnstatus'=>'11',
  36. ]);
  37. $asnType = factory(OracleBasCode::class)->make(['codeid'=>'ASN_TYP','code'=>'CSRK','descr_c'=>'测试入库']);
  38. $asnStatus = factory(OracleBasCode::class)->make(['code'=>'11', 'codeid'=>'ASN_STS', 'codename_c'=>'测试状态']);
  39. $wmsAsnHeader->setRelation('asnType',$asnType);
  40. $wmsAsnHeader->setRelation('asnStatus',$asnStatus);
  41. $this->asnHeaders=collect();
  42. $this->asnHeaders->add($wmsAsnHeader);
  43. // $startDate = \Illuminate\Support\Carbon::now()->subSeconds(30);
  44. // $this->asnHeaders=OracleDOCASNHeader::query()
  45. // ->with(['asnType', 'asnStatus'])
  46. // ->where('addTime', '>=',$startDate)
  47. // ->get();
  48. }
  49. public function testGetParamsByAsnHeader()
  50. {
  51. if (empty($this->asnHeaders)) return null;
  52. $asnDetails=$this->service->getAsnDetailsByAsnHerder($this->asnHeaders);
  53. if(!$asnDetails){
  54. $storeItems=$this->service->getByWms($asnDetails);
  55. $this->assertNull($storeItems);
  56. }else{
  57. $storeItems=$this->service->getByWms($asnDetails);
  58. $this->assertNotNull($storeItems);
  59. }
  60. }
  61. public function tearDown(): void
  62. {
  63. $this->data['owner']->delete();
  64. $this->data['warehouse']->delete();
  65. parent::tearDown(); // TODO: Change the autogenerated stub
  66. }
  67. }