Тестирование в django, бд sqlite, python
В тесте def test_сhecking_post_fields(self) хочу в списке запросов оставить только имена url, а сам запрос переместить в цикл. Но не понимаю как это сделать, потому что у меня последний запрос отличается .context от предыдущих.
from django.test import Client, TestCase
from django.urls import reverse
from posts.models import Post, Group, User
from posts.views import POSTS_PER_PAGE
POST_INDEX_URL = reverse("posts:index")
POST_CREATE_URL = reverse("posts:post_create")
USER_1 = "Andrew"
USER_2 = "Andrew2"
PROFILE = reverse("posts:profile", kwargs={"username": USER_1})
PROFILE_2 = reverse("posts:profile", kwargs={"username": USER_2})
SECOND_PAGE_OF_POSTS = 3
POSTS_COUNT = POSTS_PER_PAGE + SECOND_PAGE_OF_POSTS
SLUG_1 = "test-slug"
SLUG_2 = "test-slug2"
GROUP_POSTS_URL = reverse("posts:group_posts", kwargs={"slug": SLUG_1})
GROUP_POSTS_URL_2 = reverse("posts:group_posts", kwargs={"slug": SLUG_2})
class PostPagesTests(TestCase):
@classmethod
def setUpClass(cls):
super().setUpClass()
cls.user = User.objects.create_user(username=USER_1)
cls.user2 = User.objects.create_user(username=USER_2)
cls.group = Group.objects.create(
title="Тестовый заголовок",
description="Тестовое описание",
slug=SLUG_1,
)
cls.group2 = Group.objects.create(
title="Тестовый заголовок 2",
description="Тестовое описание 2",
slug=SLUG_2,
)
cls.post = Post.objects.create(
author=cls.user, text="Тестовый пост", group=cls.group
)
cls.POST_DETAIL_URL = reverse(
"posts:post_detail", kwargs={"post_id": cls.post.id}
)
cls.POST_EDIT_URL = reverse(
"posts:post_edit", kwargs={"post_id": cls.post.id}
)
def setUp(self):
self.author = Client()
self.author.force_login(self.user)
self.another = Client()
self.another.force_login(self.user2)
def test_сhecking_post_fields(self):
"""Проверка полей постов на страницах"""
self.URLS = [
self.author.get(POST_INDEX_URL).context["page_obj"][0],
self.author.get(GROUP_POSTS_URL).context["page_obj"][0],
self.author.get(PROFILE).context["page_obj"][0],
self.author.get(self.POST_DETAIL_URL).context["post"],
]
for response in self.URLS:
post = response
self.assertEqual(post.author, self.user)
self.assertEqual(post.text, self.post.text)
self.assertEqual(post.group, self.post.group)
self.assertEqual(post.pk, self.post.pk)