37 lines
1.3 KiB
Python
37 lines
1.3 KiB
Python
import os
|
|
import re
|
|
import pytest
|
|
from playwright.sync_api import sync_playwright, expect
|
|
|
|
def test_homepage_has_title():
|
|
with sync_playwright() as p:
|
|
browser = p.chromium.launch()
|
|
page = browser.new_page()
|
|
page.goto("http://localhost:5000/")
|
|
expect(page).to_have_title(re.compile("Zeilwedstrijden"))
|
|
browser.close()
|
|
|
|
def test_submission_flow():
|
|
with sync_playwright() as p:
|
|
browser = p.chromium.launch()
|
|
page = browser.new_page()
|
|
page.goto("http://localhost:5000/zomeravond")
|
|
|
|
# Fill required fields
|
|
page.select_option("select[name='klasse']", label="Kajuitklasse")
|
|
page.fill("input[name='zeilnummer']", "42")
|
|
page.fill("input[name='bootnaam']", "Vliegende Hollander")
|
|
page.fill("input[name='naam']", "Hendrik Test")
|
|
page.fill("input[name='telefoonmobiel']", "0612345678")
|
|
page.fill("input[name='email']", "hendrik@example.com")
|
|
|
|
# Accept terms
|
|
page.check("input#terms")
|
|
|
|
# Submit
|
|
page.click("button[type='submit']")
|
|
|
|
# Expect success redirect
|
|
expect(page).to_have_url(re.compile(r".*/zomeravond/success"))
|
|
expect(page.locator("h1")).to_have_text("Bedankt!")
|
|
browser.close()
|