sttpforever

Untitled

Apr 26th, 2021
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.32 KB | None | 0 0
  1. from django.contrib.auth import get_user_model
  2. from django.test import TestCase, Client
  3. from datetime import datetime as dt
  4. from posts.models import Post
  5.  
  6. User = get_user_model()
  7.  
  8.  
  9. class StaticURLTests(TestCase):
  10. @classmethod
  11. def setUpClass(cls):
  12. super().setUpClass()
  13. # Устанавливаем данные для тестирования
  14. # Создаём экземпляр клиента. Он неавторизован.
  15. cls.guest_client = Client()
  16. # Создаем пользователя
  17. user = User.objects.create_user(username='Test_Man')
  18. # Создаем второй клиент
  19. cls.authorized_client = Client()
  20. # Авторизуем пользователя
  21. cls.authorized_client.force_login(user)
  22. # Создадим запись в БД для проверки доступности адреса /new/
  23. cls.post = Post.objects.create(
  24. text='Тестовый текст',
  25. pub_date=dt.now(),
  26. author=user,
  27. )
  28.  
  29. # def setUp(self):
  30. # Устанавливаем данные для тестирования
  31. # Создаём экземпляр клиента. Он неавторизован.
  32. # self.guest_client = Client()
  33. # Создаем пользователя
  34. # self.user = User.objects.create_user(username='Test_Man')
  35. # Создаем второй клиент
  36. # self.authorized_client = Client()
  37. # Авторизуем пользователя
  38. # self.authorized_client.force_login(self.user)
  39.  
  40. def test_homepage(self):
  41. # Отправляем запрос через client,
  42. # созданный в setUp()
  43. response = StaticURLTests.guest_client.get('/')
  44. self.assertEqual(response.status_code, 200)
  45.  
  46. def test_group_page(self):
  47. # Отправляем запрос через client,
  48. # созданный в setUp()
  49. response = StaticURLTests.guest_client.get('/group/slug/')
  50. self.assertEqual(response.status_code, 200)
  51.  
  52. # Проверяем доступность страниц для авторизованного пользователя
  53. def test_new_for_auth(self):
  54. """Страница /task/ доступна авторизованному пользователю."""
  55. response = StaticURLTests.authorized_client.get('/new/')
  56. self.assertEqual(response.status_code, 200)
  57.  
  58. # Проверяем редиректы для неавторизованного пользователя
  59. def test_new_guest(self):
  60. """Страница по адресу /task/ перенаправит анонимного
  61. пользователя на страницу логина.
  62. """
  63. response = StaticURLTests.guest_client.get('/new/', follow=True)
  64. self.assertRedirects(
  65. response, '/auth/login/?next=/new/')
  66.  
  67. def test_urls_template(self):
  68. """URL-адрес использует соответствующий шаблон."""
  69. # Шаблоны по адресам
  70. templates_url_names = {
  71. 'index.html': '/',
  72. 'group.html': '/group/',
  73. 'new.html': '/new/',
  74. }
  75.  
Advertisement
Add Comment
Please, Sign In to add comment