feat: new chain

This commit is contained in:
hashbro
2026-08-11 03:12:11 +08:00
parent 4802d0e51f
commit 8816c4d957
4 changed files with 45 additions and 11 deletions
+17 -7
View File
@@ -111,9 +111,9 @@ class PageVisitTest extends TestCase
'channel_id' => self::CHANNEL,
'client_uid' => 'u3',
'os' => 'iOS',
'os_version' => '17.0',
'os_version' => '17.2.1',
'browser' => 'Safari',
'browser_version' => '17.0',
'browser_version' => '17.2',
'created_at' => now(),
]);
PageVisit::query()->create([
@@ -125,17 +125,27 @@ class PageVisitTest extends TestCase
'browser_version' => '119.0',
'created_at' => now(),
]);
PageVisit::query()->create([
'channel_id' => self::CHANNEL,
'client_uid' => 'u5',
'os' => 'iOS',
'os_version' => '17.3',
'browser' => 'Safari',
'browser_version' => '17.3',
'created_at' => now(),
]);
$admin = Admin::query()->create(['username' => 'admin', 'password' => 'admin123']);
$this->actingAs($admin, 'admin')
->getJson(route('admin.dashboard.data', ['range' => 'today']))
->assertOk()
->assertJsonPath('data.pv', 5)
->assertJsonPath('data.uv', 4)
->assertJsonPath('data.effective_pv', 2)
->assertJsonPath('data.effective_uv', 1)
->assertJsonPath('data.pv', 6)
->assertJsonPath('data.uv', 5)
// effective: two 16.6 Safari (u1) + one 17.2.1 Safari (u3); exclude Android/Chrome/17.3
->assertJsonPath('data.effective_pv', 3)
->assertJsonPath('data.effective_uv', 2)
->assertJsonPath('data.by_os.0.label', 'iOS')
->assertJsonPath('data.by_os.0.pv', 4)
->assertJsonPath('data.by_os.0.pv', 5)
->assertJsonPath('data.by_os.1.label', '其他')
->assertJsonPath('data.by_os.1.pv', 1)
->assertJsonStructure(['data' => ['by_os', 'by_ios_version', 'pv', 'uv', 'effective_pv', 'effective_uv']]);