SetOrderSyncAtTest.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  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['key'][] = Str::uuid();
  21. $this->data['key'][] = Str::uuid();
  22. $this->data['data'][] = Carbon::now();
  23. $this->data['data'][] = Carbon::now();
  24. }
  25. /**
  26. * @test
  27. */
  28. public function testSetOrderSyncAt()
  29. {
  30. ValueStore::query()->create(['name'=>$this->data['key'][0]]);
  31. ValueStore::query()->create(['name'=>$this->data['key'][1]]);
  32. $this->service->setOrderSyncAt($this->data['key'][0],$this->data['data'][0],false);
  33. $item = ValueStore::query()->where('name',$this->data['key'][0])->first();
  34. /** @var Carbon $time */
  35. $time = $this->data['data'][0];
  36. $this->assertEquals((string)$time->subSeconds(1),(string)$item->value);
  37. $this->service->setOrderSyncAt($this->data['key'][1],$this->data['data'][1]);
  38. $item = ValueStore::query()->where('name',$this->data['key'][1])->first();
  39. $this->assertNotEquals((string)$item->value,(string)$this->data['data'][1]);
  40. /** @var Carbon $time */
  41. $time = $this->data['data'][0];
  42. $this->assertEquals((string)$time,(string)$item->value);
  43. }
  44. public function tearDown(): void
  45. {
  46. ValueStore::query()->whereIn('name',$this->data['key'])->delete();
  47. parent::tearDown(); // TODO: Change the autogenerated stub
  48. }
  49. }