Coverage for tests/publisher/tests_post_account_details.py: 100%

27 statements  

« prev     ^ index     » next       coverage.py v7.8.0, created at 2025-04-28 22:05 +0000

1from unittest.mock import MagicMock, patch 

2 

3import responses 

4from tests.publisher.endpoint_testing import BaseTestCases 

5 

6# Make sure tests fail on stray responses. 

7responses.mock.assert_all_requests_are_fired = True 

8 

9 

10class PostAccountDetailsPageNotAuth(BaseTestCases.EndpointLoggedOut): 

11 def setUp(self): 

12 endpoint_url = "/account/publisher" 

13 

14 super().setUp( 

15 snap_name=None, endpoint_url=endpoint_url, method_endpoint="POST" 

16 ) 

17 

18 

19class PostAccountDetailsPage(BaseTestCases.BaseAppTesting): 

20 def setUp(self): 

21 api_url = "https://test.com/" 

22 endpoint_url = "/account/publisher" 

23 

24 super().setUp( 

25 snap_name=None, api_url=api_url, endpoint_url=endpoint_url 

26 ) 

27 

28 @responses.activate 

29 @patch("webapp.publisher.views.marketo") 

30 def test_post_account(self, marketo): 

31 self._log_in(self.client) 

32 

33 marketo.set_newsletter_subscription = MagicMock() 

34 

35 response = self.client.post( 

36 self.endpoint_url, 

37 data={"email": "test@test.com", "newsletter": True}, 

38 ) 

39 

40 marketo.set_newsletter_subscription.assert_called_with( 

41 "test@test.com", "True" 

42 ) 

43 

44 self.assertEqual(200, response.status_code) 

45 

46 @patch("webapp.publisher.views.marketo") 

47 def test_post_account_exception(self, marketo): 

48 self._log_in(self.client) 

49 

50 marketo.set_newsletter_subscription = MagicMock( 

51 side_effect=Exception() 

52 ) 

53 response = self.client.post(self.endpoint_url) 

54 

55 self.assertEqual(200, response.status_code)