47 lines
1.3 KiB
Python
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)
|