This commit is contained in:
Ross
2022-06-07 21:32:49 +01:00
parent 349654a22b
commit 45100f27b0
11 changed files with 136 additions and 141 deletions
+42 -1
View File
@@ -33,6 +33,18 @@ def create_superuser(db, django_user_model):
"admin", "ross@xkjq.uk", "adminpassword"
)
@pytest.fixture(params=EXAM_VIEWS)
def set_up_exams(request, django_user_model, create_superuser):
basic_user = django_user_model.objects.create_user(
"user1", "user@user.net", "pass2"
)
e1 = request.param.Exam.objects.create(name="test exam", exam_mode=True)
e = request.param.Exam.objects.create(name="test exam 2", exam_mode=True)
e.author.add(basic_user)
return request.param
# @pytest.fixture
# def create_exam(db):
@@ -40,6 +52,18 @@ def create_superuser(db, django_user_model):
# Very basic tests, make sure we can hit key urls without error
def test_index2(client, set_up_exams):
client.login(username="admin", password="adminpassword")
response = client.get(reverse(f"{set_up_exams.app_name}:index"))
assert response.status_code == 200
assert (
BeautifulSoup(response.content, "html.parser")
.find("h4", {"class": "exam-number-title"})
.getText()
== "2 exams found."
)
@pytest.mark.parametrize("exam_views", EXAM_VIEWS)
def test_index(client, create_superuser, exam_views, django_user_model):
@@ -63,6 +87,15 @@ def test_index(client, create_superuser, exam_views, django_user_model):
== "2 exams found."
)
response = client.get(reverse(f"{exam_views.app_name}:exam_list"))
assert response.status_code == 200
assert (
len(BeautifulSoup(response.content, "html.parser")
.select("a.exam-name"))
== 2
)
if exam_views.app_name in JSON_APPS:
response = client.get(reverse(f"{exam_views.app_name}:active_exams"))
@@ -86,7 +119,6 @@ def test_index(client, create_superuser, exam_views, django_user_model):
HTTP_X_REQUESTED_WITH="XMLHttpRequest",
)
print(f"{e1.valid_user_users.all()=}")
assert json.loads(add_user_response.content)["status"] == "success"
@@ -103,6 +135,15 @@ def test_index(client, create_superuser, exam_views, django_user_model):
== "1 exams found."
)
response = client.get(reverse(f"{exam_views.app_name}:exam_list"))
assert (
len(BeautifulSoup(response.content, "html.parser")
.select("a.exam-name"))
== 1
)
if exam_views.app_name in JSON_APPS:
response = client.get(reverse(f"{exam_views.app_name}:active_exams"))