SetOrderSyncAtTest.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. namespace Tests\Services\OrderService;
  3. use App\Services\OrderService;
  4. use App\ValueStore;
  5. use Carbon\Carbon;
  6. use Illuminate\Foundation\Testing\RefreshDatabase;
  7. use Illuminate\Foundation\Testing\WithFaker;
  8. use Illuminate\Support\Str;
  9. use Tests\TestCase;
  10. class SetOrderSyncAtTest extends TestCase
  11. {
  12. use RefreshDatabase;
  13. /** @var OrderService $service */
  14. private $service;
  15. public function setUp(): void
  16. {
  17. parent::setUp(); // TODO: Change the autogenerated stub
  18. $this->service = app('OrderService');
  19. }
  20. /**
  21. * @test
  22. */
  23. public function testSetOrderSyncAt()
  24. {
  25. /** @var Carbon $time */
  26. $key= Str::uuid();
  27. $data = Carbon::now();
  28. ValueStore::query()->create(['name'=>$key]);
  29. $this->service->setOrderSyncAt($key,$data,true);
  30. $item = ValueStore::query()->where('name',$key)->first();
  31. $this->assertEquals((string)$data->subSeconds(1),(string)$item->value);
  32. $key= Str::uuid();
  33. $data = Carbon::now();
  34. ValueStore::query()->create(['name'=>$key]);
  35. $this->service->setOrderSyncAt($key,$data,false);
  36. $item = ValueStore::query()->where('name',$key)->first();
  37. $this->assertEquals((string)$data,(string)$item->value);
  38. }
  39. public function tearDown(): void
  40. {
  41. parent::tearDown(); // TODO: Change the autogenerated stub
  42. }
  43. }