"""Unit tests for user podcast settings model.""" import pytest from podcast.models import user_podcast_settings from podcast.utils.exc import OwsError def test_get_user_settings(): """User settings model returns settings for given user id.""" user_id = 1 result = user_podcast_settings.get_user_settings(user_id) assert isinstance(result, dict) assert result['ad_notifications'] is True assert result['podcast_notifications'] is False def test_get_user_settings_not_found(): """User settings model returns error if given user id not found.""" with pytest.raises(OwsError) as err: user_podcast_settings.get_user_settings(4) assert err.value.message == 'No settings found for user id: 4.' def test_create_user_settings(): """User settings model creates row in db with user_id and and default data.""" result = user_podcast_settings.create_user_settings(4) assert isinstance(result, dict) assert result['ad_notifications'] is True assert result['podcast_notifications'] is True def test_update_user_settings(): """User settings model updates row in dv for currently existing user.""" result = user_podcast_settings.update_user_settings(5, {'podcast_notifications': True}) assert isinstance(result, dict) assert result['ad_notifications'] is False assert result['podcast_notifications'] is True