Get_Test.php 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. namespace Tests\Services\CommodityService;
  3. use App\Commodity;
  4. use App\CommodityBarcode;
  5. use App\OracleBasSKU;
  6. use App\Owner;
  7. use App\Services\CommodityService;
  8. use Tests\TestCase;
  9. class Get_Test extends TestCase
  10. {
  11. /** @var CommodityService $service */
  12. private $service;
  13. private $data = [];
  14. private $owner_id;
  15. public function setUp(): void
  16. {
  17. parent::setUp(); // TODO: Change the autogenerated stub
  18. cache()->flush();
  19. $this->service = app('CommodityService');
  20. $owner = factory(Owner::class)->create();
  21. $commodity=factory(Commodity::class)->create(['owner_id'=>$owner->id]);
  22. $this->data['owner'] = $owner;
  23. $this->data['commodity'] = $commodity;
  24. $this->data['basSku']=OracleBasSKU::query()->orderByDesc('edittime')->first();
  25. }
  26. public function testGet_OnlyOwnerIds()
  27. {
  28. $commodities=$this->service->get_([$this->data['commodity']['owner_id']]);
  29. $this->assertNotNull($commodities);
  30. $this->assertEquals($this->data['commodity']['sku'],$commodities->first()['sku']);
  31. }
  32. public function testGet_HasOwnerIdsAndSkus()
  33. {
  34. $commodities=$this->service->get_([$this->data['commodity']['owner_id']],[$this->data['commodity']['sku']]);
  35. $this->assertEquals(1,count($commodities));
  36. }
  37. public function testGet_SyncAndSelect()
  38. {
  39. if ($this->data['basSku']) $this->assertNotNull($this->data['basSku']);
  40. $this->owner_id=Owner::query()->where('code',$this->data['basSku']['customerid'])->value('id');
  41. $commodities=$this->service->get_([ $this->owner_id],[$this->data['basSku']['sku']],[],true);
  42. $this->assertEquals($this->data['basSku']['sku'],$commodities->first()['sku']);
  43. }
  44. public function tearDown(): void
  45. {
  46. $this->data['owner']->delete();
  47. $this->data['commodity']->delete();
  48. $commodity_id=Commodity::query()->where('owner_id',$this->owner_id)->value('id');
  49. Commodity::query()->where('id',$commodity_id)->delete();
  50. CommodityBarcode::query()->where('commodity_id',$commodity_id)->delete();
  51. cache()->flush();
  52. parent::tearDown(); // TODO: Change the autogenerated stub
  53. }
  54. }