Как в тестах (pytest) django определить, является ли пользователь админом
Допустим, есть простая модель Product c полями name, price и description. Создавать товары может только админ, пользователь - просматривать. Нужно, чтоб тест проверил, является ли пользователь админом и создав сущность вернул 201 код, если нет - то код ошибки. Простой тест создания, который я выполнял, тренируясь делать тесты выглядит так:
@pytest.mark.django_db
def test_courses_create(api_client):
url = reverse("courses-list")
course_name = {"name": "Python-Developer"}
resp = api_client.post(url, course_name)
assert resp.status_code == HTTP_201_CREATED
Этот код работает в любом случае. Логика проверки на создание сущностей в коде есть и работает, а как это реализовать в тесте?
Ответы (1 шт):
Автор решения: Andrey Belyanin
→ Ссылка
Собственно, вот и ответ на мой вопрос: https://pytest-django.readthedocs.io/en/latest/helpers.html#admin-client-django-test-client-logged-in-as-admin