class PaginatorViewsTest(TestCase): @classmethod def setUpClass(cls): super().setUpClass() cls.user = User.objects.create_user(username='TestUser') cls.group = Group.objects.create( title='test group', slug='test_slug', description='test description', ) cls.post_list = [] for i in range(0, 13): cls.post_list.append( Post.objects.create( text=f'#{i} Текст тестового поста #{i}', author=cls.user, group=cls.group, ) ) def setUp(self): self.guest_client = Client() self.authorized_client = Client() self.authorized_client.force_login(self.user) def test_first_page_contains_ten_records(self): DES_POSTS = 10 THREE = 3 first_page = { reverse('posts:index'): DES_POSTS, reverse('posts:group_list', kwargs={'slug': self.group.slug}): DES_POSTS, reverse('posts:profile', kwargs={'username': self.user}): DES_POSTS, reverse('posts:index') + '?page=2': THREE, reverse('posts:group_list', kwargs={'slug': self.group.slug} ) + '?page=2': THREE, reverse('posts:profile', kwargs={'username': self.user} ) + '?page=2': THREE, } for value, expected in first_page.items(): with self.subTest(value=value): response = self.authorized_client.get(value) self.assertEqual( len(response.context['page_obj']), expected)