import pytest from rest_framework import status from rest_framework.reverse import reverse @pytest.mark.unit @pytest.mark.django_db class TestAuth: @pytest.fixture(autouse=True) def setup_tests(self, django_user_model): self.admin_user = django_user_model.objects.get(username='admin') def test_login_with_active_user(self, api_client): url = reverse('api_login') credentials = { 'username': 'admin', 'password': 'nimda' } response = api_client.post(url, data=credentials) assert response.status_code == status.HTTP_200_OK credentials = { 'username': 'admin', 'password': 'invalid_password' } response = api_client.post(url, data=credentials) assert response.status_code == status.HTTP_400_BAD_REQUEST def test_login_with_non_active_user(self, api_client): url = reverse('api_login') self.admin_user.is_active = False self.admin_user.save() credentials = { 'username': 'admin', 'password': 'nimda' } response = api_client.post(url, data=credentials) assert response.status_code == status.HTTP_400_BAD_REQUEST