Coverage for tests/store/test_details_overview.py: 100%

23 statements  

« prev     ^ index     » next       coverage.py v7.10.2, created at 2025-08-08 22:07 +0000

1from unittest import TestCase 

2from unittest.mock import patch 

3from webapp.app import app 

4from mock_data.mock_store_logic import sample_package_detail 

5import copy 

6 

7 

8class TestDetailsOverview(TestCase): 

9 def setUp(self): 

10 app.testing = True 

11 self.client = app.test_client() 

12 

13 @patch("webapp.store_api.publisher_gateway.get_item_details") 

14 def test_details_with_discourse_link(self, mock_find): 

15 mock_find.return_value = sample_package_detail 

16 response = self.client.get("/test") 

17 self.assertNotIn(b"Read documentation", response.data) 

18 self.assertEqual(response.status_code, 200) 

19 

20 @patch("webapp.store_api.publisher_gateway.get_item_details") 

21 def test_details_with_readthedocs_link(self, mock_find): 

22 data = copy.deepcopy(sample_package_detail) 

23 data["result"]["links"]["docs"] = [ 

24 "https://readthedocs.charmhub.io/t/xxx" 

25 ] 

26 mock_find.return_value = data 

27 response = self.client.get("/test") 

28 self.assertIn(b"Read documentation", response.data) 

29 self.assertEqual(response.status_code, 200)