Я создал REST API, принимающий запрос POST в Django. Сам запрос прекрасно работает при вызове из интерфейса React, в самом API не должно быть ничего плохого.
Я хочу создать интеграционный тест для API.
Я написал Тест ниже, который в основном копируется / вставляется из Django Документации , адаптированной к моему API:
from django.urls import reverse, path
from rest_framework import status
from rest_framework.test import APITestCase
class SendLoginEmailTest(APITestCase):
def test_post_withValidData_loginEmailIsSent(self):
url = reverse('api_private:send_login_email')
data = {'email': 'validemail@email.com', 'token': '4d4ca980-cb0c-425d-8d2c-7e38cb33f38e'}
response = self.client.post(url, data, format='json')
self.assertEqual(response.status_code, status.HTTP_200_OK)
Я запускаю тест с помощью команды:
python3 manage.py test
Тест не пройден со следующим исключением:
django.urls.exceptions.NoReverseMatch: Reverse for 'send_login_email' not found. 'send_login_email' is not a valid view function or pattern name.
Есть идеи, что я делаю не так?
== Обновление ==
Содержимое urls.py .
from django.urls import path
from server.api_private.views import SendLoginEmail, ValidateEmail, IsEmailValidated, ProjectSave
app_name = "api_private"
urlpatterns = [
path('send_login_email/', SendLoginEmail.as_view()),
path('validate_email/', ValidateEmail.as_view()),
path('is_email_validated/', IsEmailValidated.as_view()),
path('project_save/', ProjectSave.as_view())
]