Files
ad/tests/api/docs/pages.py
T

24 lines
900 B
Python
Raw Normal View History

# retoor <retoor@molodetz.nl>
import pytest
from molodetz.docs_prose import DOCS_PAGES, PROSE_DIR, page_source, render_page
def test_every_docs_page_has_source_and_renders():
for page in DOCS_PAGES:
assert (PROSE_DIR / page["file"]).is_file(), page["slug"]
assert page_source(page["slug"]).strip(), page["slug"]
assert render_page(page["slug"]).strip(), page["slug"]
@pytest.mark.parametrize("page", DOCS_PAGES, ids=lambda page: page["slug"])
def test_docs_page_reachability_matches_gate(page, anon, admin):
response = admin.get(f"/docs/{page['slug']}")
assert response.status_code == 200, page["slug"]
assert page["title"] in response.text
anon_response = anon.get(f"/docs/{page['slug']}")
if page.get("admin"):
assert anon_response.status_code == 404, page["slug"]
else:
assert anon_response.status_code == 200, page["slug"]