Coverage for tests/endpoints/tests_settings.py: 100%
35 statements
« prev ^ index » next coverage.py v7.10.2, created at 2025-08-05 22:06 +0000
« prev ^ index » next coverage.py v7.10.2, created at 2025-08-05 22:06 +0000
1from unittest.mock import patch
2from tests.endpoints.endpoint_testing import TestEndpoints
5class TestPostSettings(TestEndpoints):
6 @patch(
7 "canonicalwebteam.store_api.dashboard.Dashboard.change_store_settings"
8 )
9 def test_post_settings_success(self, mock_change_store_settings):
10 mock_change_store_settings.return_value = None
12 payload = {
13 "private": "true",
14 "manual-review-policy": "allow-new-snap-names",
15 }
16 response = self.client.put("/api/store/1/settings", data=payload)
17 data = response.json
19 self.assertEqual(response.status_code, 200)
20 self.assertTrue(data["success"])
22 @patch(
23 "canonicalwebteam.store_api.dashboard.Dashboard.change_store_settings"
24 )
25 def test_post_settings_with_false_private(
26 self, mock_change_store_settings
27 ):
28 mock_change_store_settings.return_value = None
30 payload = {
31 "private": "false",
32 "manual-review-policy": "reject-new-snap-names",
33 }
34 response = self.client.put("/api/store/1/settings", data=payload)
35 data = response.json
37 self.assertEqual(response.status_code, 200)
38 self.assertTrue(data["success"])
40 call_args = mock_change_store_settings.call_args
41 settings = call_args[0][2]
42 self.assertFalse(settings["private"])
43 self.assertEqual(
44 settings["manual-review-policy"], "reject-new-snap-names"
45 )
47 @patch(
48 "canonicalwebteam.store_api.dashboard.Dashboard.change_store_settings"
49 )
50 def test_post_settings_minimal_payload(self, mock_change_store_settings):
51 mock_change_store_settings.return_value = None
53 payload = {"private": "false"}
54 response = self.client.put("/api/store/1/settings", data=payload)
55 data = response.json
57 self.assertEqual(response.status_code, 200)
58 self.assertTrue(data["success"])
60 call_args = mock_change_store_settings.call_args
61 settings = call_args[0][2]
62 self.assertFalse(settings["private"])
63 self.assertIsNone(settings["manual-review-policy"])