Как протестировать представление Django, которое имеет запрос к API?

У меня есть представление post, которое получает пост по его id. В тесте я хотел бы создать новый пост, а затем проверить через API, доступен ли пост. Проблема заключается в том, что пост добавляется в тестовую базу данных, но при выполнении GET-запроса делается запрос к базе данных разработчика.

views.py

def post(request: HttpRequest, id: str):
    context = {"form": PostForm}
    url = env("BASE_URL")
    if id:
        post = requests.get(f"{url}/api/v1/post/{id}").json()
        context["post"] = post
        return render(request, "post.html", context)

test_view.py

class BlogPageTest(TestCase):
    @classmethod
    def setUpTestData(cls):
        cls.user = UserProfile.objects.create(
            name="TestUser", email="test@mail.com", password="pass"
        )

    def test_post_render(self):
        client = APIClient()
        client.force_authenticate(user=self.user)
        post = Post.objects.create(
            title="Test post",
            body="Test post data",
            user=self.user,
        )
        post.save()
        response = client.get(reverse("post", kwargs={"id": str(post.id)}))
Вернуться на верх