|
@@ -0,0 +1,54 @@
|
|
|
|
|
+<?php
|
|
|
|
|
+
|
|
|
|
|
+namespace Tests\Services\OrderService;
|
|
|
|
|
+
|
|
|
|
|
+use App\Services\OrderService;
|
|
|
|
|
+use App\ValueStore;
|
|
|
|
|
+use Carbon\Carbon;
|
|
|
|
|
+use Illuminate\Foundation\Testing\RefreshDatabase;
|
|
|
|
|
+use Illuminate\Foundation\Testing\WithFaker;
|
|
|
|
|
+use Illuminate\Support\Str;
|
|
|
|
|
+use Tests\TestCase;
|
|
|
|
|
+
|
|
|
|
|
+class SetOrderSyncAtTest extends TestCase
|
|
|
|
|
+{
|
|
|
|
|
+ /** @var OrderService $service */
|
|
|
|
|
+ private $service;
|
|
|
|
|
+ private $data;
|
|
|
|
|
+ public function setUp(): void
|
|
|
|
|
+ {
|
|
|
|
|
+ parent::setUp(); // TODO: Change the autogenerated stub
|
|
|
|
|
+ $this->service = app('OrderService');
|
|
|
|
|
+ $this->data['key'][] = Str::uuid();
|
|
|
|
|
+ $this->data['key'][] = Str::uuid();
|
|
|
|
|
+ $this->data['data'][] = Carbon::now();
|
|
|
|
|
+ $this->data['data'][] = Carbon::now();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * @test
|
|
|
|
|
+ */
|
|
|
|
|
+ public function testSetOrderSyncAt()
|
|
|
|
|
+ {
|
|
|
|
|
+ ValueStore::query()->create(['name'=>$this->data['key'][0]]);
|
|
|
|
|
+ ValueStore::query()->create(['name'=>$this->data['key'][1]]);
|
|
|
|
|
+ $this->service->setOrderSyncAt($this->data['key'][0],$this->data['data'][0],false);
|
|
|
|
|
+ $item = ValueStore::query()->where('name',$this->data['key'][0])->first();
|
|
|
|
|
+ /** @var Carbon $time */
|
|
|
|
|
+ $time = $this->data['data'][0];
|
|
|
|
|
+ $this->assertEquals((string)$time->subSeconds(1),(string)$item->value);
|
|
|
|
|
+
|
|
|
|
|
+ $this->service->setOrderSyncAt($this->data['key'][1],$this->data['data'][1]);
|
|
|
|
|
+ $item = ValueStore::query()->where('name',$this->data['key'][1])->first();
|
|
|
|
|
+ $this->assertNotEquals((string)$item->value,(string)$this->data['data'][1]);
|
|
|
|
|
+ /** @var Carbon $time */
|
|
|
|
|
+ $time = $this->data['data'][0];
|
|
|
|
|
+ $this->assertEquals((string)$time,(string)$item->value);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public function tearDown(): void
|
|
|
|
|
+ {
|
|
|
|
|
+ ValueStore::query()->whereIn('name',$this->data['key'])->delete();
|
|
|
|
|
+ parent::tearDown(); // TODO: Change the autogenerated stub
|
|
|
|
|
+ }
|
|
|
|
|
+}
|