GetReGroupActAllocationDetailsTest.php 2.3 KB

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