FillInOrderTrackingTest.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  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. use RefreshDatabase;
  12. /** @var OrderTrackingService $service */
  13. public $service;
  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($tracking->planning_sent_at, $item->signed_at);
  34. }
  35. });
  36. }
  37. }