23 lines
984 B
Python
23 lines
984 B
Python
import json
|
|
|
|
from django.urls import reverse
|
|
from django_scopes import scopes_disabled
|
|
|
|
from cookbook.helper.permission_helper import share_link_valid
|
|
from cookbook.models import Recipe
|
|
|
|
|
|
def test_get_share_link(recipe_1_s1, u1_s1, u1_s2, g1_s1, a_u, space_1):
|
|
assert u1_s1.get(reverse('api_share_link', args=[recipe_1_s1.pk])).status_code == 200
|
|
assert u1_s2.get(reverse('api_share_link', args=[recipe_1_s1.pk])).status_code == 404
|
|
assert g1_s1.get(reverse('api_share_link', args=[recipe_1_s1.pk])).status_code == 403
|
|
assert a_u.get(reverse('api_share_link', args=[recipe_1_s1.pk])).status_code == 403
|
|
|
|
with scopes_disabled():
|
|
sl = json.loads(u1_s1.get(reverse('api_share_link', args=[recipe_1_s1.pk])).content)
|
|
assert share_link_valid(Recipe.objects.filter(pk=sl['pk']).get(), sl['share'])
|
|
|
|
space_1.allow_sharing = False
|
|
space_1.save()
|
|
assert u1_s1.get(reverse('api_share_link', args=[recipe_1_s1.pk])).status_code == 403
|