2026-01-09 13:24:01 +00:00
|
|
|
"""Tests for template rendering."""
|
|
|
|
|
|
|
|
|
|
from src.templates import render_template, render_error_page, render_startpage
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class TestTemplateRendering:
|
|
|
|
|
def test_render_startpage(self):
|
|
|
|
|
"""Test rendering the startpage template."""
|
|
|
|
|
html = render_startpage()
|
2026-01-12 09:22:34 +00:00
|
|
|
|
2026-01-09 13:24:01 +00:00
|
|
|
assert html
|
|
|
|
|
assert "Bowser" in html
|
|
|
|
|
assert "Welcome" in html
|
|
|
|
|
assert "<!DOCTYPE html>" in html
|
2026-01-12 09:22:34 +00:00
|
|
|
|
2026-01-09 13:24:01 +00:00
|
|
|
def test_render_startpage_has_version(self):
|
|
|
|
|
"""Test that startpage includes version."""
|
|
|
|
|
html = render_startpage()
|
2026-01-12 09:22:34 +00:00
|
|
|
|
2026-01-09 13:24:01 +00:00
|
|
|
assert "0.0.1" in html
|
2026-01-12 09:22:34 +00:00
|
|
|
|
2026-01-09 13:24:01 +00:00
|
|
|
def test_render_error_404(self):
|
|
|
|
|
"""Test rendering 404 error page."""
|
|
|
|
|
html = render_error_page(404, "http://example.com/missing")
|
2026-01-12 09:22:34 +00:00
|
|
|
|
2026-01-09 13:24:01 +00:00
|
|
|
assert html
|
|
|
|
|
assert "404" in html
|
|
|
|
|
assert "example.com/missing" in html
|
|
|
|
|
assert "Not Found" in html
|
2026-01-12 09:22:34 +00:00
|
|
|
|
2026-01-09 13:24:01 +00:00
|
|
|
def test_render_error_500(self):
|
|
|
|
|
"""Test rendering 500 error page."""
|
|
|
|
|
html = render_error_page(500, "http://example.com/error")
|
2026-01-12 09:22:34 +00:00
|
|
|
|
2026-01-09 13:24:01 +00:00
|
|
|
assert html
|
|
|
|
|
assert "500" in html
|
|
|
|
|
assert "Server Error" in html
|
2026-01-12 09:22:34 +00:00
|
|
|
|
2026-01-09 13:24:01 +00:00
|
|
|
def test_render_error_network(self):
|
|
|
|
|
"""Test rendering network error page."""
|
|
|
|
|
html = render_error_page(0, "http://example.com", "Connection refused")
|
2026-01-12 09:22:34 +00:00
|
|
|
|
2026-01-09 13:24:01 +00:00
|
|
|
assert html
|
|
|
|
|
assert "Network Error" in html
|
|
|
|
|
assert "Connection refused" in html
|
2026-01-12 09:22:34 +00:00
|
|
|
|
2026-01-09 13:24:01 +00:00
|
|
|
def test_render_error_with_custom_context(self):
|
|
|
|
|
"""Test error page with custom error message."""
|
|
|
|
|
html = render_error_page(404, "http://example.com", "Custom error message")
|
2026-01-12 09:22:34 +00:00
|
|
|
|
2026-01-09 13:24:01 +00:00
|
|
|
assert "Custom error message" in html
|
2026-01-12 09:22:34 +00:00
|
|
|
|
2026-01-09 13:24:01 +00:00
|
|
|
def test_render_template_with_context(self):
|
|
|
|
|
"""Test rendering template with custom context."""
|
|
|
|
|
html = render_template("startpage.html", version="1.0.0")
|
2026-01-12 09:22:34 +00:00
|
|
|
|
2026-01-09 13:24:01 +00:00
|
|
|
assert "1.0.0" in html
|