Skip to content

Commit d3b6fe3

Browse files
committed
improve map_capture tests
1 parent ab4838f commit d3b6fe3

File tree

1 file changed

+19
-17
lines changed

1 file changed

+19
-17
lines changed

test_project/test_app/tests/test_views.py

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -684,14 +684,12 @@ class MapScreenshotTest(BaseTest):
684684
"timestamp": 1762525783907,
685685
}
686686

687-
@mock.patch("mapentity.views.base.capture_image")
688-
@mock.patch(
689-
"mapentity.tokens.TokenManager.generate_token", return_value="test-token"
690-
)
691-
def test_map_screenshot_success(self, mock_token, mock_capture):
687+
@mock.patch("mapentity.helpers.requests.get")
688+
def test_map_screenshot_success(self, mock_capture):
692689
self.login()
693690

694-
mock_capture.return_value = b"fake_png_data"
691+
mock_capture.return_value.content = b"fake_png_data"
692+
mock_capture.return_value.status_code = 200
695693

696694
data = {"printcontext": json.dumps(self.context)}
697695

@@ -704,30 +702,34 @@ def test_map_screenshot_success(self, mock_token, mock_capture):
704702

705703
args, kwargs = mock_capture.call_args
706704
called_url = args[0]
707-
width = kwargs.get("width")
708-
height = kwargs.get("height")
709-
selector = kwargs.get("selector")
710705

706+
# check mapentity url
711707
self.assertTrue(called_url.startswith("http"))
712-
self.assertIn(f"lang={get_language()}", called_url)
713-
self.assertIn("auth_token=test-token", called_url)
714-
self.assertIn("context=", called_url)
715-
self.assertEqual(width, 1854)
716-
self.assertEqual(height, 481)
717-
self.assertEqual(selector, "#map")
708+
self.assertIn(f"lang%3D{get_language()}", called_url)
709+
self.assertIn("auth_token", called_url)
710+
self.assertIn("context", called_url)
711+
712+
# check screamshotter url
713+
self.assertIn("width=1854", called_url)
714+
self.assertIn("height=481", called_url)
715+
self.assertIn("selector=%23map", called_url)
718716

719717
def test_map_screenshot_invalid_json_context(self):
720718
self.login()
721719

722720
data = {"printcontext": "json_error"}
723721

724-
response = self.client.post(reverse("mapentity:map_screenshot"), data)
722+
with self.assertLogs(level='INFO') as cm:
723+
response = self.client.post(reverse("mapentity:map_screenshot"), data)
725724
self.assertEqual(response.status_code, 400)
725+
self.assertIn("ERROR:mapentity.views.base:Expecting value: line 1 column 1 (char 0)", cm.output[0])
726726

727727
def test_map_screenshot_invalid_length_context(self):
728728
self.login()
729729

730730
data = {"printcontext": "{" + "test" * 1000 + "}"}
731731

732-
response = self.client.post(reverse("mapentity:map_screenshot"), data)
732+
with self.assertLogs(level='INFO') as cm:
733+
response = self.client.post(reverse("mapentity:map_screenshot"), data)
733734
self.assertEqual(response.status_code, 400)
735+
self.assertIn("ERROR:mapentity.views.base:Print context is way too big", cm.output[0])

0 commit comments

Comments
 (0)