Coverage for tests/test_ds_icons.py: 96%

28 statements  

« prev     ^ index     » next       coverage.py v7.15.4, created at 2026-08-20 22:09 +0000

1import unittest 

2 

3from webapp.app import create_app 

4 

5 

6class TestDsIcons(unittest.TestCase): 

7 def setUp(self): 

8 app = create_app(testing=True) 

9 self.client = app.test_client() 

10 

11 def test_ds_icon_is_served(self): 

12 response = self.client.get("/icons/close.svg") 

13 

14 self.assertEqual(response.status_code, 200) 

15 self.assertEqual(response.location, None) 

16 self.assertIn("image/svg+xml", response.content_type) 

17 self.assertIn(b"<svg", response.data) 

18 

19 def test_missing_ds_icon_returns_404(self): 

20 response = self.client.get("/icons/not-real.svg") 

21 

22 self.assertEqual(response.status_code, 404) 

23 

24 def test_static_ds_icon_is_served(self): 

25 response = self.client.get("/static/icons/close.svg") 

26 

27 self.assertEqual(response.status_code, 200) 

28 self.assertIn("image/svg+xml", response.content_type) 

29 self.assertIn(b"<svg", response.data) 

30 

31 def test_missing_static_ds_icon_returns_404(self): 

32 response = self.client.get("/static/icons/not-real.svg") 

33 

34 self.assertEqual(response.status_code, 404) 

35 

36 def test_non_svg_icon_path_returns_404(self): 

37 response = self.client.get("/icons/close.png") 

38 

39 self.assertEqual(response.status_code, 404) 

40 

41 

42if __name__ == "__main__": 

43 unittest.main()