Files
055-higher-lower/tests/unit/test_step_02_url_paths.py
Tirsvad 6562eae9ef Add the lecture step programs for URL paths, HTML, decorators and authentication
Task: MIL-002#1
Task: MIL-002#2
Task: MIL-002#3
Task: MIL-002#4
Task: MIL-002#5
2026-11-06 12:28:36 +08:00

37 lines
1.0 KiB
Python

"""Tests of lecture step 2."""
from flask.testing import FlaskClient
from higher_lower.presentation.lectures.step_02_url_paths import create_app
def _client() -> FlaskClient:
return create_app().test_client()
def test_home_says_hello() -> None:
assert _client().get("/").get_data(as_text=True) == "Hello, World!"
def test_bye_route_says_bye() -> None:
assert _client().get("/bye").get_data(as_text=True) == "Bye"
def test_variable_section_is_used_in_greeting() -> None:
body = _client().get("/username/Angela").get_data(as_text=True)
assert body == "Hello there Angela!"
def test_variable_section_is_escaped() -> None:
body = _client().get("/username/<b>").get_data(as_text=True)
assert "<b>" not in body
def test_int_converter_accepts_a_number() -> None:
body = _client().get("/username/Angela/25").get_data(as_text=True)
assert body == "Hello there Angela, you are 25 years old!"
def test_int_converter_rejects_text() -> None:
assert _client().get("/username/Angela/old").status_code == 404