TandoorRecipes/cookbook/tests/api/test_api_share_link.py
2022-10-31 14:30:39 +01:00

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