mirror of
https://github.com/ae-utbm/sith.git
synced 2025-09-23 00:23:52 +00:00
36 lines
1.1 KiB
Python
36 lines
1.1 KiB
Python
import pytest
|
|
from django.test import Client
|
|
from django.urls import reverse
|
|
from model_bakery import baker
|
|
|
|
from club.models import Club
|
|
from com.models import Poster
|
|
from core.baker_recipes import subscriber_user
|
|
|
|
|
|
@pytest.mark.django_db
|
|
@pytest.mark.parametrize("route_url", ["club:poster_list", "club:poster_create"])
|
|
def test_access(client: Client, route_url):
|
|
club = baker.make(Club)
|
|
user = subscriber_user.make()
|
|
url = reverse(route_url, kwargs={"club_id": club.id})
|
|
|
|
client.force_login(user)
|
|
assert client.get(url).status_code == 403
|
|
club.board_group.users.add(user)
|
|
assert client.get(url).status_code == 200
|
|
|
|
|
|
@pytest.mark.django_db
|
|
@pytest.mark.parametrize("route_url", ["club:poster_edit", "club:poster_delete"])
|
|
def test_access_specific_poster(client: Client, route_url):
|
|
club = baker.make(Club)
|
|
user = subscriber_user.make()
|
|
poster = baker.make(Poster)
|
|
url = reverse(route_url, kwargs={"club_id": club.id, "poster_id": poster.id})
|
|
|
|
client.force_login(user)
|
|
assert client.get(url).status_code == 403
|
|
club.board_group.users.add(user)
|
|
assert client.get(url).status_code == 200
|