GetReGroupActAllocationDetailsTest.php 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. namespace Tests\Services\OrderCommodityService;
  3. use App\OracleActAllocationDetails;
  4. use App\OracleDOCOrderHeader;
  5. use App\Owner;
  6. use App\Services\OrderCommodityService;
  7. use Illuminate\Foundation\Testing\RefreshDatabase;
  8. use Illuminate\Foundation\Testing\WithFaker;
  9. use Tests\TestCase;
  10. class GetReGroupActAllocationDetailsTest extends TestCase
  11. {
  12. /** @var OrderCommodityService $service */
  13. private $service;
  14. private $data;
  15. public function setUp(): void
  16. {
  17. parent::setUp(); // TODO: Change the autogenerated stub
  18. $this->service = app('OrderCommodityService');
  19. // $owner = factory(Owner::class)->create();
  20. $orderHeaders = collect();
  21. $orderHeader = factory(OracleDOCOrderHeader::class)->make();
  22. $oracleActAllocationDetails = collect();
  23. for ($i=0;$i<=10;$i++){
  24. $oracleActAllocationDetails->push( factory(OracleActAllocationDetails::class)->make(['orderno'=>$orderHeader['orderno'],'customerid' => $orderHeader['customerid']]));
  25. }
  26. $orderHeader->setRelation('actAllocationDetails',$oracleActAllocationDetails);
  27. $orderHeaders->push($orderHeader);
  28. $this->data['orderHeaders'] = $orderHeaders;
  29. }
  30. /**
  31. * @test
  32. */
  33. public function getRegroupActAllocationDetails()
  34. {
  35. $orderHeaders = $this->data['orderHeaders'];
  36. $oracleActAllocationDetails = $orderHeaders->first()->actAllocationDetails;
  37. $regroupActAllocationDetails = $this->service->getRegroupActAllocationDetails($orderHeaders);
  38. $this->assertNotNull($oracleActAllocationDetails);
  39. $this->assertNotNull($regroupActAllocationDetails);
  40. $this->assertEquals(count($orderHeaders),$this->count($regroupActAllocationDetails));
  41. foreach ($regroupActAllocationDetails as $items) {
  42. foreach ($items as $item) {
  43. $details = $oracleActAllocationDetails
  44. ->where('location',$item['location'])
  45. ->where('customerid',$item['owner_code'])
  46. ->where('sku',$item['sku']);
  47. $this->assertNotEmpty($details);
  48. $this->assertEquals(1, $details->count());
  49. }
  50. }
  51. }
  52. public function tearDown(): void
  53. {
  54. parent::tearDown(); // TODO: Change the autogenerated stub
  55. }
  56. }