SetOrderSyncAtTest.php 1.7 KB

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