Files
TandoorRecipes/cookbook/tests/views/test_views_recipe_share.py
2020-06-16 11:23:58 +02:00

45 lines
1.6 KiB
Python

import uuid
from django.contrib import auth
from django.urls import reverse
from cookbook.helper.permission_helper import share_link_valid
from cookbook.models import Recipe, ShareLink
from cookbook.tests.views.test_views import TestViews
class TestViewsGeneral(TestViews):
def test_share(self):
internal_recipe = Recipe.objects.create(
name='Test',
internal=True,
created_by=auth.get_user(self.user_client_1)
)
url = reverse('view_recipe', kwargs={'pk': internal_recipe.pk})
r = self.user_client_1.get(url)
self.assertEqual(r.status_code, 200)
r = self.anonymous_client.get(url)
self.assertEqual(r.status_code, 302)
url = reverse('new_share_link', kwargs={'pk': internal_recipe.pk})
r = self.user_client_1.get(url)
self.assertEqual(r.status_code, 302)
share = ShareLink.objects.filter(recipe=internal_recipe).first()
self.assertIsNotNone(share)
self.assertTrue(share_link_valid(internal_recipe, share.uuid))
url = reverse('view_recipe', kwargs={'pk': internal_recipe.pk, 'share': share.uuid})
r = self.anonymous_client.get(url)
self.assertEqual(r.status_code, 200)
url = reverse('view_recipe', kwargs={'pk': (internal_recipe.pk + 1), 'share': share.uuid})
r = self.anonymous_client.get(url)
self.assertEqual(r.status_code, 404)
url = reverse('view_recipe', kwargs={'pk': internal_recipe.pk, 'share': uuid.uuid4()})
r = self.anonymous_client.get(url)
self.assertEqual(r.status_code, 302)