Source code for tests.users.test_urls

from django.test import TestCase
from django.urls import reverse
from rest_framework import status

from tests.users.factories import UserFactory  # type: ignore


[docs] class UserURLsTestCase(TestCase):
[docs] @classmethod def setUpClass(cls): super().setUpClass() cls.user = UserFactory.create()
[docs] def test_user_urls_get(self): # Testing UsersAuthorizedViewSet related URLs user_url = reverse("users:user") url_string = "/api/users/" response = self.client.get(user_url) self.assertNotIn(response.status_code, [status.HTTP_405_METHOD_NOT_ALLOWED]) self.assertEqual(user_url, url_string)
[docs] def test_user_urls_patch(self): # Testing UsersAuthorizedViewSet related URLs user_url = reverse("users:user") url_string = "/api/users/" response = self.client.patch(user_url) self.assertNotIn(response.status_code, [status.HTTP_404_NOT_FOUND, status.HTTP_405_METHOD_NOT_ALLOWED]) self.assertEqual(user_url, url_string)
[docs] def test_user_urls_put(self): # Testing UsersAuthorizedViewSet related URLs user_url = reverse("users:user") url_string = "/api/users/" response = self.client.put(user_url) self.assertNotIn(response.status_code, [status.HTTP_404_NOT_FOUND, status.HTTP_405_METHOD_NOT_ALLOWED]) self.assertEqual(user_url, url_string)
[docs] def test_user_urls_delete(self): # Testing UsersAuthorizedViewSet related URLs user_url = reverse("users:user") url_string = "/api/users/" response = self.client.delete(user_url) self.assertNotIn(response.status_code, [status.HTTP_404_NOT_FOUND, status.HTTP_405_METHOD_NOT_ALLOWED]) self.assertEqual(user_url, url_string)
[docs] def test_user_urls_retrieve(self): # Testing UsersAuthorizedViewSet retrieve user_detail_url = reverse("users:user", args=[self.user.pk]) url_string = f"/api/users/{self.user.pk}/" response = self.client.get(user_detail_url) self.assertNotIn(response.status_code, [status.HTTP_404_NOT_FOUND, status.HTTP_405_METHOD_NOT_ALLOWED]) self.assertEqual(user_detail_url, url_string)
[docs] def test_categories_urls_list(self): # Testing InterestsListAPIView url_string = "/api/users/categories/" interests_url = reverse("users:categories-list") response = self.client.get(interests_url) self.assertNotIn(response.status_code, [status.HTTP_404_NOT_FOUND, status.HTTP_405_METHOD_NOT_ALLOWED]) self.assertEqual(interests_url, url_string)
[docs] def test_user_unuauthorized_urls_list(self): # Testing UsersUnauthorizedViewSet related URLs url_string = "/api/users/signup/" signup_url = reverse("users:signup") response = self.client.post(signup_url) self.assertNotIn(response.status_code, [status.HTTP_404_NOT_FOUND, status.HTTP_405_METHOD_NOT_ALLOWED]) self.assertEqual(signup_url, url_string)
[docs] def test_user_unuauthorized_urls_resend_activation_code(self): # Testing UsersUnauthorizedViewSet related URLs url_string = "/api/users/resend-activation-code/" resend_url = reverse("users:resend-activation-code") response = self.client.post(resend_url) self.assertNotIn(response.status_code, [status.HTTP_404_NOT_FOUND, status.HTTP_405_METHOD_NOT_ALLOWED]) self.assertEqual(resend_url, url_string)
[docs] def test_user_password_change(self): # Testing UsersUnauthorizedViewSet related URLs url_string = "/api/users/password-change/" resend_url = reverse("users:password-change") response = self.client.post(resend_url) self.assertNotIn(response.status_code, [status.HTTP_404_NOT_FOUND, status.HTTP_405_METHOD_NOT_ALLOWED]) self.assertEqual(resend_url, url_string)
[docs] def test_followers_list_url(self): url = reverse("users:followers_list") response = self.client.get(url) self.assertNotIn(response.status_code, [status.HTTP_404_NOT_FOUND, status.HTTP_405_METHOD_NOT_ALLOWED]) self.assertEqual(url, "/api/users/followers/")
[docs] def test_user_followers_list_url(self): url = reverse("users:user_followers_list", args=[self.user.pk]) response = self.client.get(url) self.assertNotIn(response.status_code, [status.HTTP_404_NOT_FOUND, status.HTTP_405_METHOD_NOT_ALLOWED]) self.assertEqual(url, f"/api/users/followers/{self.user.pk}/")
[docs] def test_following_list_url(self): url = reverse("users:following_list") response = self.client.get(url) self.assertNotIn(response.status_code, [status.HTTP_404_NOT_FOUND, status.HTTP_405_METHOD_NOT_ALLOWED]) self.assertEqual(url, "/api/users/following/")
[docs] def test_user_following_list_url(self): url = reverse("users:user_following_list", args=[self.user.pk]) response = self.client.get(url) self.assertNotIn(response.status_code, [status.HTTP_404_NOT_FOUND, status.HTTP_405_METHOD_NOT_ALLOWED]) self.assertEqual(url, f"/api/users/following/{self.user.pk}/")
[docs] def test_follow_url(self): url = reverse("users:follow", args=[self.user.pk]) response = self.client.post(url) self.assertNotIn(response.status_code, [status.HTTP_404_NOT_FOUND, status.HTTP_405_METHOD_NOT_ALLOWED]) self.assertEqual(url, f"/api/users/follow/{self.user.pk}/")
[docs] def test_unfollow_url(self): url = reverse("users:unfollow", args=[self.user.pk]) response = self.client.post(url) self.assertNotIn(response.status_code, [status.HTTP_404_NOT_FOUND, status.HTTP_405_METHOD_NOT_ALLOWED]) self.assertEqual(url, f"/api/users/unfollow/{self.user.pk}/")
[docs] def test_export_data_url(self): url = reverse("users:export_data") response = self.client.post(url) self.assertNotIn(response.status_code, [status.HTTP_404_NOT_FOUND, status.HTTP_405_METHOD_NOT_ALLOWED]) self.assertEqual(url, "/api/users/export-data/")