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

1from unittest.mock import patch 

2from tests.endpoints.endpoint_testing import TestEndpoints 

3 

4 

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 

11 

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 

18 

19 self.assertEqual(response.status_code, 200) 

20 self.assertTrue(data["success"]) 

21 

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 

29 

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 

36 

37 self.assertEqual(response.status_code, 200) 

38 self.assertTrue(data["success"]) 

39 

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 ) 

46 

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 

52 

53 payload = {"private": "false"} 

54 response = self.client.put("/api/store/1/settings", data=payload) 

55 data = response.json 

56 

57 self.assertEqual(response.status_code, 200) 

58 self.assertTrue(data["success"]) 

59 

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"])