from django.urls import reverse import pytest from rapids.models import Abnormality, Exam from rapids.views import GenericExamViews #@pytest.mark.django_db def test_create_abnormality(db): abnormality = Abnormality.objects.create(name="Abnorm") assert abnormality.name == "Abnorm" @pytest.fixture def create_basic_user(db, django_user_model): return django_user_model.objects.create_superuser("basicuser", "ross@xkjq.uk", "password") @pytest.fixture def create_exam(db): return Exam.objects.create(name="test exam", exam_mode=True) def test_exam_creation(create_exam): exams = Exam.objects.filter(name="test exam") assert exams.exists() exam = exams.first() assert exam.time_limit == 35 * 60 def test_exam_list(rf, admin_user, create_exam): request = rf.get('/rapids/exam/') # Remember that when using RequestFactory, the request does not pass # through middleware. If your view expects fields such as request.user # to be set, you need to set them explicitly. # The following line sets request.user to an admin user. request.user = admin_user response = GenericExamViews.exam_list(request) #print(response) assert response.status_code == 200 def test_exam_active_admin(rf, admin_user, create_exam, client): request = rf.get(reverse('rapids:active_exams')) request.user = admin_user response = GenericExamViews.active_exams(request) print(response.content) assert response.status_code == 200 def test_exam_active_basic_user(create_basic_user, create_exam, client): client.login(username="basicuser", password="password") response = client.get(reverse('rapids:active_exams')) print(response.content) assert response.status_code == 200