46 lines
1.3 KiB
Python
46 lines
1.3 KiB
Python
import uuid
|
|
|
|
from django.urls import reverse
|
|
from django_scopes import scopes_disabled
|
|
|
|
from cookbook.helper.permission_helper import share_link_valid
|
|
from cookbook.models import ShareLink
|
|
|
|
|
|
def test_share(recipe_1_s1, u1_s1, a_u):
|
|
with scopes_disabled():
|
|
url = reverse('view_recipe', kwargs={'pk': recipe_1_s1.pk})
|
|
r = u1_s1.get(url)
|
|
assert r.status_code == 200
|
|
|
|
r = a_u.get(url)
|
|
assert r.status_code == 302
|
|
|
|
url = reverse('new_share_link', kwargs={'pk': recipe_1_s1.pk})
|
|
r = u1_s1.get(url)
|
|
assert r.status_code == 302
|
|
share = ShareLink.objects.filter(recipe=recipe_1_s1).first()
|
|
assert share
|
|
assert share_link_valid(recipe_1_s1, share.uuid)
|
|
|
|
url = reverse(
|
|
'view_recipe',
|
|
kwargs={'pk': recipe_1_s1.pk, 'share': share.uuid}
|
|
)
|
|
r = a_u.get(url)
|
|
assert r.status_code == 200
|
|
|
|
url = reverse(
|
|
'view_recipe',
|
|
kwargs={'pk': (recipe_1_s1.pk + 1), 'share': share.uuid}
|
|
)
|
|
r = a_u.get(url)
|
|
assert r.status_code == 404
|
|
|
|
url = reverse(
|
|
'view_recipe',
|
|
kwargs={'pk': recipe_1_s1.pk, 'share': uuid.uuid4()}
|
|
)
|
|
r = a_u.get(url)
|
|
assert r.status_code == 302
|