FillInOrderTrackingTest.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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. public $data;
  14. public function setUp(): void
  15. {
  16. parent::setUp(); // TODO: Change the autogenerated stub
  17. $this->service = app('OrderTrackingService');
  18. $this->data['orderTracking'] = factory(OrderTracking::class,10)->create();
  19. }
  20. public function testFillInOrderTracking()
  21. {
  22. $data = new Carbon();
  23. $orderTracking = $this->data['orderTracking'];
  24. $this->service->fillInOrderTracking($orderTracking);
  25. try {
  26. $orderTracking_list = OrderTracking::query()->whereIn('id', data_get($orderTracking, '*.id'))->get();
  27. $orderTracking_list->each(function ($item) use ($data, $orderTracking) {
  28. $tracking = $orderTracking->where('id', $item->id)->first();
  29. if ($item->created_at != '0000-00-00 00:00:00' &&
  30. $item->planning_sent_at !== '0000-00-00 00:00:00' &&
  31. $item->planning_sent_at < $data) {
  32. $this->assertEquals($tracking->planning_sent_at, $item->signed_at);
  33. }
  34. });
  35. } catch (\Exception $e) {
  36. OrderTracking::query()->whereIn('id',data_get($orderTracking,'*.id'))->delete();
  37. }
  38. }
  39. }