Files
canteen-asset-tracker/tests/frontend/test_gps.py
T

30 lines
1.0 KiB
Python

"""Frontend E2E tests — GPS badge states."""
import pytest
def _login(page):
"""Helper: login as admin."""
page.locator("#loginUsername").fill("admin")
page.locator("#loginPassword").fill("changeme")
page.locator("button:has-text('Sign In')").click()
page.wait_for_selector("#loginOverlay", state="hidden", timeout=5000)
@pytest.mark.frontend
def test_gps_badge_shows_ok_when_geolocation_granted(page, live_server):
"""With geolocation permission granted, GPS badge shows OK state."""
_login(page)
# Wait for GPS to initialize (initGPS() runs on page load,
# and with permissions=['geolocation'] set in browser context,
# navigator.geolocation.getCurrentPosition succeeds immediately)
gps_badge = page.locator("#gpsBadge")
gps_badge.wait_for(timeout=10000)
# The badge should exist and show coordinates (OK state)
badge_text = gps_badge.inner_text()
assert "📍" in badge_text
# Check it's in OK state (class contains 'ok')
assert "ok" in gps_badge.get_attribute("class")