Exemple #1
0
    def test_get_instance_genre_for_user(self):
        url = f'/api/library/genres/{self.genre.id}/'
        self.client.force_login(self.user, None)

        response = self.client.get(path=url, format='json')

        genre = models.Genre.objects.get(id=self.genre.id)
        serializer = serializers.LanguageSerializer(instance=genre)

        self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
    def test_get_instance_language_for_admin(self):
        url = f'/api/library/languages/{self.language_rus.id}/'
        self.client.force_login(self.admin, None)

        response = self.client.get(path=url, format='json')

        languages = models.Language.objects.get(id=self.language_rus.id)
        serializer = serializers.LanguageSerializer(instance=languages)

        self.assertEqual(response.status_code, status.HTTP_200_OK)
        self.assertEqual(response.data, serializer.data)
Exemple #3
0
    def test_create_language_for_user(self):
        url = f'/api/library/genres/'

        self.client.force_login(self.user, None)

        data = {'name': 'Повесть'}

        serializer = serializers.LanguageSerializer(data=data)
        serializer.is_valid(raise_exception=True)

        response = self.client.post(path=url, data=data, format='json')
        self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
    def test_get_list_languages_for_admin(self):
        url = '/api/library/languages/'
        self.client.force_login(self.admin, None)

        response = self.client.get(path=url, format='json')

        languages = models.Language.objects.all()
        serializer = serializers.LanguageSerializer(instance=languages,
                                                    many=True)

        self.assertEqual(response.status_code, status.HTTP_200_OK)
        self.assertEqual(response.data, serializer.data)
    def test_create_language_for_admin(self):
        url = f'/api/library/languages/'

        self.client.force_login(self.admin, None)

        data = {'name': 'Испанский'}

        serializer = serializers.LanguageSerializer(data=data)
        serializer.is_valid(raise_exception=True)

        response = self.client.post(path=url, data=data, format='json')

        self.assertEqual(response.status_code, status.HTTP_201_CREATED)
        self.assertEqual(models.Language.objects.count(), 3)
    def test_update_language_for_admin(self):
        url = f'/api/library/languages/{self.language_rus.id}/'

        self.client.force_login(self.admin, None)

        data = {'name': 'Немецкий'}

        serializer = serializers.LanguageSerializer(data=data)
        serializer.is_valid(raise_exception=True)

        response = self.client.put(path=url, data=data, format='json')
        self.assertEqual(response.status_code, status.HTTP_200_OK)

        language = models.Language.objects.get(id=self.language_rus.id)

        self.assertEqual(self.language_rus.id, language.id)
        self.assertEqual(data.get('name'), language.name)