Как протестировать представление 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)}))