From 8c1940445503fd6678d0961600f2be81622793a2 Mon Sep 17 00:00:00 2001 From: Max Nanis Date: Tue, 24 Feb 2026 17:26:15 -0500 Subject: Extensive use of type checking. Movement of pytest conf towards handling managers (for db agnostic unittest). Starting to organize pytests. --- tests/http/test_preview.py | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 tests/http/test_preview.py (limited to 'tests/http/test_preview.py') diff --git a/tests/http/test_preview.py b/tests/http/test_preview.py new file mode 100644 index 0000000..2bdf265 --- /dev/null +++ b/tests/http/test_preview.py @@ -0,0 +1,41 @@ +# There are two types of "preview" - one is where we navigate direclty +# to it and one is where we redirect possibly + +import pytest +from httpx import AsyncClient + +from jb.models.hit import Hit + + +class TestPreview: + + @pytest.mark.anyio + async def test_preview_direct(self, httpxclient: AsyncClient): + client = httpxclient + res = await client.get("/preview/") + + assert res.status_code == 200 + # the response is an html page + + assert res.headers["content-type"] == "text/html; charset=utf-8" + assert res.num_bytes_downloaded == 507 + + assert "James Billings loves you." in res.text + assert "https://cdn.jamesbillings67.com/james-has-style.css" in res.text + assert "https://cdn.jamesbillings67.com/james-billings.js" in res.text + + @pytest.mark.anyio + async def test_preview_redirect_from_work( + self, httpxclient: AsyncClient, amt_hit_id, amt_assignment_id + ): + client = httpxclient + + params = { + "workerId": None, + "assignmentId": amt_assignment_id, + "hitId": amt_hit_id, + } + res = await client.get("/work/", params=params) + + assert res.status_code == 302 + assert "/preview/" in res.headers["location"] -- cgit v1.2.3