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
« 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
8class TestDetailsOverview(TestCase):
9 def setUp(self):
10 app.testing = True
11 self.client = app.test_client()
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)
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)