def test_serializer(): pa = PaprikaAccountFactory() recipe = get_test_recipe_dict(overrides={ 'paprika_account': pa.id, 'categories': [] }) rs = RecipeSerializer(data=recipe) assert rs.is_valid(), rs.errors
def test_serializer_supports_mixed_valid_and_bad_categories(): pa = PaprikaAccountFactory() cat = CategoryFactory(**get_test_categories_dict()[0], paprika_account=pa) recipe = get_test_recipe_dict(overrides={'paprika_account': pa.id}) recipe['categories'].append('not-a-real-category') rs = RecipeSerializer(data=recipe) assert rs.is_valid(), rs.errors rs.save() assert rs.instance.categories.get() == cat
def test_serializer_photo_url_strips_querystring(): pa = PaprikaAccountFactory() recipe = get_test_recipe_dict(overrides={ 'paprika_account': pa.id, 'categories': [] }) rs = RecipeSerializer(data=recipe) assert rs.is_valid(), rs.errors assert '?' not in rs.validated_data['photo_url']
import pytest from django.core.management import call_command from django.utils import timezone from paprika_sync.core.models import PaprikaAccount, Recipe, NewsItem from paprika_sync.core.tests.factories import PaprikaAccountFactory, get_test_recipe_dict, get_test_recipes_dict, recipes_to_api_dict, RecipeFactory, get_test_categories_dict, recipe_to_api_dict pytestmark = pytest.mark.django_db @mock.patch('paprika_sync.core.models.PaprikaAccount.get_recipes', return_value=get_test_recipes_dict()) @mock.patch('paprika_sync.core.models.PaprikaAccount.get_recipe', return_value=get_test_recipe_dict()) @mock.patch('paprika_sync.core.models.PaprikaAccount.get_categories', return_value=get_test_categories_dict()) def test_import_new_account_recipes(mock_recipe, mock_recipes, mock_categories, user): pa = PaprikaAccountFactory( import_sync_status=PaprikaAccount.IMPORT_DEFERRED) assert Recipe.objects.all().count() == 0 call_command('import_new_account_recipes') assert Recipe.objects.all().count() == 1 pa = PaprikaAccount.objects.get(id=pa.id) assert pa.import_sync_status == PaprikaAccount.SYNC_SUCCESS @mock.patch('paprika_sync.core.models.PaprikaAccount.get_categories', return_value=get_test_categories_dict())