32 lines
1.3 KiB
Python
32 lines
1.3 KiB
Python
# retoor <retoor@molodetz.nl>
|
|
from tests.conftest import assert_no_horizontal_overflow
|
|
|
|
PUBLIC_PAGES = ["/", "/rol", "/standaard", "/flyers", "/memes", "/mensen", "/mensen/retoor", "/binnen", "/docs", "/docs/welkom", "/docs/api/inhoud", "/docs/component-code", "/voorwaarden", "/privacy"]
|
|
|
|
|
|
def test_home_renders_without_errors(page, app_server):
|
|
page.goto(app_server + "/", wait_until="domcontentloaded")
|
|
page.wait_for_selector("html[data-app=ready]")
|
|
assert page.locator("h1").first.inner_text().strip().lower() == "molodetz"
|
|
assert page.locator("nav .nav-links a", has_text="Binnen").count() == 1
|
|
assert page.console_errors == []
|
|
|
|
|
|
def test_mobile_nav_toggle(browser, app_server):
|
|
context = browser.new_context(viewport={"width": 390, "height": 800})
|
|
page = context.new_page()
|
|
page.goto(app_server + "/", wait_until="domcontentloaded")
|
|
page.wait_for_selector("html[data-app=ready]")
|
|
assert_no_horizontal_overflow(page)
|
|
assert not page.locator("#nav-links").is_visible()
|
|
page.click("[data-nav-toggle]")
|
|
assert page.locator("#nav-links").is_visible()
|
|
context.close()
|
|
|
|
|
|
def test_public_pages_have_no_js_errors(page, app_server):
|
|
for path in PUBLIC_PAGES:
|
|
page.goto(app_server + path, wait_until="domcontentloaded")
|
|
page.wait_for_selector("html[data-app=ready]")
|
|
assert page.console_errors == []
|