Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from django.contrib.auth import get_user_model
- from django.test import TestCase, Client
- from datetime import datetime as dt
- from posts.models import Post
- User = get_user_model()
- class StaticURLTests(TestCase):
- @classmethod
- def setUpClass(cls):
- super().setUpClass()
- # Устанавливаем данные для тестирования
- # Создаём экземпляр клиента. Он неавторизован.
- cls.guest_client = Client()
- # Создаем пользователя
- user = User.objects.create_user(username='Test_Man')
- # Создаем второй клиент
- cls.authorized_client = Client()
- # Авторизуем пользователя
- cls.authorized_client.force_login(user)
- # Создадим запись в БД для проверки доступности адреса /new/
- cls.post = Post.objects.create(
- text='Тестовый текст',
- pub_date=dt.now(),
- author=user,
- )
- # def setUp(self):
- # Устанавливаем данные для тестирования
- # Создаём экземпляр клиента. Он неавторизован.
- # self.guest_client = Client()
- # Создаем пользователя
- # self.user = User.objects.create_user(username='Test_Man')
- # Создаем второй клиент
- # self.authorized_client = Client()
- # Авторизуем пользователя
- # self.authorized_client.force_login(self.user)
- def test_homepage(self):
- # Отправляем запрос через client,
- # созданный в setUp()
- response = StaticURLTests.guest_client.get('/')
- self.assertEqual(response.status_code, 200)
- def test_group_page(self):
- # Отправляем запрос через client,
- # созданный в setUp()
- response = StaticURLTests.guest_client.get('/group/slug/')
- self.assertEqual(response.status_code, 200)
- # Проверяем доступность страниц для авторизованного пользователя
- def test_new_for_auth(self):
- """Страница /task/ доступна авторизованному пользователю."""
- response = StaticURLTests.authorized_client.get('/new/')
- self.assertEqual(response.status_code, 200)
- # Проверяем редиректы для неавторизованного пользователя
- def test_new_guest(self):
- """Страница по адресу /task/ перенаправит анонимного
- пользователя на страницу логина.
- """
- response = StaticURLTests.guest_client.get('/new/', follow=True)
- self.assertRedirects(
- response, '/auth/login/?next=/new/')
- def test_urls_template(self):
- """URL-адрес использует соответствующий шаблон."""
- # Шаблоны по адресам
- templates_url_names = {
- 'index.html': '/',
- 'group.html': '/group/',
- 'new.html': '/new/',
- }
Advertisement
Add Comment
Please, Sign In to add comment