Files
test_OgureNG/backend-django/backend/tests/views/notation.py
2022-11-08 21:19:51 +01:00

47 lines
1.3 KiB
Python

from backend.views import NotationView
from django.contrib.auth import get_user_model
from rest_framework import status
from rest_framework.test import APITestCase
from .constants import PASSWORD, USERNAME
from .test_utils import TestUtilsMixin, disable_gestionnaire_permission
VIEW_TYPE = NotationView
class NotationViewTest(APITestCase, TestUtilsMixin):
basename = 'Notation'
@classmethod
def setUpTestData(cls):
user = get_user_model().objects.create(id=1, username=USERNAME)
user.set_password(PASSWORD)
user.save()
def setUp(self):
logged_in = self.client.login(username=USERNAME, password=PASSWORD)
self.assertTrue(logged_in, "l'utilisateur devrait être connecté")
def tearDown(self):
self.client.logout()
def test_list_anonymous(self):
""" vérifie que l'accès anonyme est interdit """
self.client.logout()
url = self._api_url()
response = self.client.get(url)
self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
@disable_gestionnaire_permission(VIEW_TYPE)
def test_list_authenticated(self):
""" vérifie que l'utilisateur authentifié peut récupérer des décisions """
url = self._api_url()
response = self.client.get(url)
self.assertEqual(response.status_code, status.HTTP_200_OK)