FillInOrderTrackingTest.php 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. namespace Tests\Services\OrderTrackingService;
  3. use App\OrderTracking;
  4. use App\Services\OrderTrackingService;
  5. use Carbon\Carbon;
  6. use Illuminate\Foundation\Testing\RefreshDatabase;
  7. use Illuminate\Foundation\Testing\WithFaker;
  8. use Tests\TestCase;
  9. class FillInOrderTrackingTest extends TestCase
  10. {
  11. /** @var OrderTrackingService $service */
  12. public $service;
  13. private $data = [];
  14. public function setUp(): void
  15. {
  16. parent::setUp(); // TODO: Change the autogenerated stub
  17. $this->service = app('OrderTrackingService');
  18. }
  19. /**
  20. * @test
  21. */
  22. public function fillInOrderTracking()
  23. {
  24. $data = new Carbon();
  25. $orderTracking = factory(OrderTracking::class,10)->create();
  26. $this->service->fillInOrderTracking($orderTracking);
  27. $orderTracking_list = OrderTracking::query()->whereIn('id', data_get($orderTracking, '*.id'))->get();
  28. $orderTracking_list->each(function ($item) use ($data, $orderTracking) {
  29. $tracking = $orderTracking->where('id', $item->id)->first();
  30. if ($item->created_at != '0000-00-00 00:00:00' &&
  31. $item->planning_sent_at !== '0000-00-00 00:00:00' &&
  32. $item->planning_sent_at < $data) {
  33. $this->assertEquals(date_format($tracking->planning_sent_at,"Y-m-d H:i:s"), (string)$item->signed_at);
  34. }
  35. });
  36. $this->data['orderTrackings'] = $orderTracking;
  37. }
  38. public function tearDown(): void
  39. {
  40. OrderTracking::query()->where('id',data_get($this->data['orderTrackings'],'*.id'))->delete();
  41. parent::tearDown(); // TODO: Change the autogenerated stub
  42. }
  43. }