SetOrderSyncAtTest.php 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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. private $data = [];
  16. public function setUp(): void
  17. {
  18. parent::setUp(); // TODO: Change the autogenerated stub
  19. $this->service = app('OrderService');
  20. $this->data['key1']= Str::uuid();
  21. $this->data['key2']= Str::uuid();
  22. $this->data['data1'] = Carbon::now();
  23. $this->data['data2'] = Carbon::now();
  24. }
  25. /**
  26. * @test
  27. */
  28. public function testSetOrderSyncAt()
  29. {
  30. /** @var Carbon $time */
  31. ValueStore::query()->create(['name'=>$this->data['key1']]);
  32. $this->service->setOrderSyncAt($this->data['key1'],$this->data['data1'],true);
  33. $item = ValueStore::query()->where('name',$this->data['key1'])->first();
  34. $this->assertEquals((string)($this->data['data1']->subSeconds(1)),(string)$item->value);
  35. $data = Carbon::now();
  36. ValueStore::query()->create(['name'=>$this->data['key2']]);
  37. $this->service->setOrderSyncAt($this->data['key2'],$this->data['data2'],false);
  38. $item = ValueStore::query()->where('name',$this->data['key2'])->first();
  39. $this->assertEquals((string)$data,(string)$item->value);
  40. }
  41. public function tearDown(): void
  42. {
  43. ValueStore::query()->where('name',$this->data['key2'])->delete();
  44. ValueStore::query()->where('name',$this->data['key1'])->delete();
  45. parent::tearDown(); // TODO: Change the autogenerated stub
  46. }
  47. }