def test_handles_invalid_preferences_error(self, pyramid_request, user_service): user_service.update_preferences.side_effect = TypeError('uh oh, wrong prefs') with pytest.raises(APIError) as exc: api_profile.update_preferences(pyramid_request) assert str(exc.value) == 'uh oh, wrong prefs'
def test_updates_preferences(self, pyramid_request, user, user_service): pyramid_request.json_body = {'preferences': {'show_sidebar_tutorial': True}} api_profile.update_preferences(pyramid_request) user_service.update_preferences.assert_called_once_with( user, show_sidebar_tutorial=True)
def test_handles_invalid_preferences_error(self, pyramid_request, user_service): user_service.update_preferences.side_effect = TypeError('uh oh, wrong prefs') with pytest.raises(APIError) as exc: api_profile.update_preferences(pyramid_request) assert exc.value.message == 'uh oh, wrong prefs'
def test_returns_session_profile(self, pyramid_request, session_profile): result = api_profile.update_preferences(pyramid_request) assert result == session_profile.return_value
def test_handles_missing_preferences_payload(self, pyramid_request): pyramid_request.json_body = {'foo': 'bar'} # should not raise api_profile.update_preferences(pyramid_request)