diff --git a/kort7/data.js b/kort7/data.js index 2ed40e0..16b3aaa 100644 --- a/kort7/data.js +++ b/kort7/data.js @@ -5,15 +5,12 @@ const VEHICLE_EVENTS = [ { vehicle: "Bil 4", ts: 5, lat: 55.6728, lon: 12.5710, speedMps: 7, headingDeg: 330, uncertaintyM: 0 }, { vehicle: "Bil 5", ts: 6, lat: 55.6795, lon: 12.5845, speedMps: 11, headingDeg: 260, uncertaintyM: 0 }, - { vehicle: "Bil 6", ts: 8, lat: 55.7080, lon: 12.5050, speedMps: 0, headingDeg: 90, uncertaintyM: 15000 }, { vehicle: "Bil 8", ts: 9, lat: 55.8600, lon: 12.8200, speedMps: 0, headingDeg: 225, uncertaintyM: 500 }, { vehicle: "Bil 9", ts: 9, lat: 55.7300, lon: 12.4700, speedMps: 0, headingDeg: 135, uncertaintyM: 9000 }, { vehicle: "Bil 10", ts: 9, lat: 55.5200, lon: 12.9500, speedMps: 0, headingDeg: 315, uncertaintyM: 42000 }, { vehicle: "Bil 7", ts: 10, lat: 55.7065, lon: 12.6175, speedMps: 0, headingDeg: 270, uncertaintyM: 2800 }, - { vehicle: "Bil 7", ts: 10, lat: 55.7065, lon: 12.6175, speedMps: 0, headingDeg: 270, uncertaintyM: 2800 }, - { vehicle: "Bil 3", ts: 12, lat: 55.6772, lon: 12.5603, speedMps: 8, headingDeg: 195, uncertaintyM: 0 }, { vehicle: "Bil 2", ts: 13, lat: 55.6760, lon: 12.5670, speedMps: 10, headingDeg: 50, uncertaintyM: 1000 }, { vehicle: "Bil 1", ts: 15, lat: 55.6762, lon: 12.5720, speedMps: 13, headingDeg: 95, uncertaintyM: 0 }, @@ -32,12 +29,10 @@ const VEHICLE_EVENTS = [ { vehicle: "Bil 4", ts: 42, lat: 55.6757, lon: 12.5682, speedMps: 9, headingDeg: 0, uncertaintyM: 0 }, { vehicle: "Bil 5", ts: 43, lat: 55.6786, lon: 12.5753, speedMps: 11, headingDeg: 245, uncertaintyM: 0 }, - { vehicle: "Bil 6", ts: 44, lat: 55.7080, lon: 12.5050, speedMps: 0, headingDeg: 90, uncertaintyM: 15000 }, { vehicle: "Bil 8", ts: 44, lat: 55.8600, lon: 12.8200, speedMps: 0, headingDeg: 225, uncertaintyM: 500 }, { vehicle: "Bil 9", ts: 44, lat: 55.7300, lon: 12.4700, speedMps: 0, headingDeg: 135, uncertaintyM: 9000 }, { vehicle: "Bil 10", ts: 44, lat: 55.5200, lon: 12.9500, speedMps: 0, headingDeg: 315, uncertaintyM: 42000 }, { vehicle: "Bil 7", ts: 46, lat: 55.7065, lon: 12.6175, speedMps: 0, headingDeg: 270, uncertaintyM: 2800 }, - { vehicle: "Bil 7", ts: 46, lat: 55.7065, lon: 12.6175, speedMps: 0, headingDeg: 270, uncertaintyM: 2800 }, { vehicle: "Bil 3", ts: 50, lat: 55.6752, lon: 12.5634, speedMps: 10, headingDeg: 220, uncertaintyM: 0 }, { vehicle: "Bil 2", ts: 54, lat: 55.6796, lon: 12.5744, speedMps: 12, headingDeg: 70, uncertaintyM: 800 }, @@ -57,12 +52,10 @@ const VEHICLE_EVENTS = [ { vehicle: "Bil 4", ts: 87, lat: 55.6792, lon: 12.5700, speedMps: 10, headingDeg: 30, uncertaintyM: 0 }, { vehicle: "Bil 5", ts: 88, lat: 55.6771, lon: 12.5662, speedMps: 9, headingDeg: 230, uncertaintyM: 0 }, - { vehicle: "Bil 6", ts: 90, lat: 55.7080, lon: 12.5050, speedMps: 0, headingDeg: 90, uncertaintyM: 15000 }, { vehicle: "Bil 8", ts: 90, lat: 55.8600, lon: 12.8200, speedMps: 0, headingDeg: 225, uncertaintyM: 500 }, { vehicle: "Bil 9", ts: 90, lat: 55.7300, lon: 12.4700, speedMps: 0, headingDeg: 135, uncertaintyM: 9000 }, { vehicle: "Bil 10", ts: 90,lat: 55.5200, lon: 12.9500, speedMps: 0, headingDeg: 315, uncertaintyM: 42000 }, { vehicle: "Bil 7", ts: 92, lat: 55.7065, lon: 12.6175, speedMps: 0, headingDeg: 270, uncertaintyM: 2800 }, - { vehicle: "Bil 7", ts: 92, lat: 55.7065, lon: 12.6175, speedMps: 0, headingDeg: 270, uncertaintyM: 2800 }, { vehicle: "Bil 3", ts: 96, lat: 55.6742, lon: 12.5696, speedMps: 8, headingDeg: 250, uncertaintyM: 0 }, { vehicle: "Bil 2", ts: 98, lat: 55.6812, lon: 12.5842, speedMps: 10, headingDeg: 115, uncertaintyM: 1200 }, @@ -82,8 +75,6 @@ const VEHICLE_EVENTS = [ { vehicle: "Bil 4", ts: 133,lat: 55.6809, lon: 12.5758, speedMps: 7, headingDeg: 60, uncertaintyM: 0 }, { vehicle: "Bil 5", ts: 134,lat: 55.6756, lon: 12.5584, speedMps: 8, headingDeg: 215, uncertaintyM: 0 }, - { vehicle: "Bil 6", ts: 134,lat: 55.7080, lon: 12.5050, speedMps: 0, headingDeg: 90, uncertaintyM: 15000 }, - { vehicle: "Bil 7", ts: 134,lat: 55.7065, lon: 12.6175, speedMps: 0, headingDeg: 270, uncertaintyM: 2800 }, { vehicle: "Bil 8", ts: 134,lat: 55.8600, lon: 12.8200, speedMps: 0, headingDeg: 225, uncertaintyM: 500 }, { vehicle: "Bil 9", ts: 134,lat: 55.7300, lon: 12.4700, speedMps: 0, headingDeg: 135, uncertaintyM: 9000 }, { vehicle: "Bil 10", ts: 134,lat: 55.5200, lon: 12.9500, speedMps: 0, headingDeg: 315, uncertaintyM: 42000 } diff --git a/kort7/tests/kort7.spec.js b/kort7/tests/kort7.spec.js index abbb6d8..fdaaae8 100644 --- a/kort7/tests/kort7.spec.js +++ b/kort7/tests/kort7.spec.js @@ -65,4 +65,29 @@ test.describe('kort7 vehicle map', () => { expect(match).not.toBeNull(); expect(Number(match[1])).toBeGreaterThan(initialTime + 0.5); }); -}); \ No newline at end of file + + test('shows off-map corner indicators for partial overlap and full cover', async ({ page }) => { + await page.goto('/kort7.html'); + + await expect.poll(async () => page.locator('.offmap-indicator').count(), { + timeout: 10000 + }).toBeGreaterThan(0); + + const bil9 = page.locator('.offmap-indicator').filter({ hasText: 'Bil 9' }); + const bil10 = page.locator('.offmap-indicator').filter({ hasText: 'Bil 10' }); + const bil8 = page.locator('.offmap-indicator').filter({ hasText: 'Bil 8' }); + + await expect(bil9).toContainText('Mulig tilstedeværelse'); + await expect(bil10).toContainText('dækker hele viewporten'); + await expect(bil8).toHaveCount(0); + }); + + test('shows matching alert text for off-map overlap states', async ({ page }) => { + await page.goto('/kort7.html'); + + const alerts = page.locator('#presenceAlerts'); + await expect(alerts).toContainText('Bil 9: mulig tilstedeværelse'); + await expect(alerts).toContainText('Bil 10: usikkerhed dækker hele kortet'); + await expect(alerts).not.toContainText('Bil 8'); + }); +});