Skip to content

Commit 937157b

Browse files
committed
Clean up tests
1 parent 6d4ca5c commit 937157b

2 files changed

Lines changed: 47 additions & 34 deletions

File tree

app/tests/challenges_tests/test_forms.py

Lines changed: 41 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -14,39 +14,45 @@
1414
)
1515

1616

17+
@pytest.mark.parametrize(
18+
"required_field",
19+
[
20+
"title",
21+
"short_name",
22+
"start_date",
23+
"end_date",
24+
"abstract",
25+
"contact_email",
26+
"organizers",
27+
"challenge_setup",
28+
"data_set",
29+
"submission_assessment",
30+
"challenge_publication",
31+
"code_availability",
32+
"expected_number_of_teams",
33+
"number_of_tasks",
34+
"challenge_fee_agreement",
35+
"algorithm_inputs",
36+
"algorithm_outputs",
37+
"average_size_of_test_image_in_mb",
38+
"inference_time_average_minutes",
39+
"algorithm_selectable_gpu_type_choices",
40+
"algorithm_maximum_settable_memory_gb",
41+
"phase_1_number_of_submissions_per_team",
42+
"phase_2_number_of_submissions_per_team",
43+
"phase_1_number_of_test_images",
44+
"phase_2_number_of_test_images",
45+
],
46+
)
1747
@pytest.mark.django_db
18-
def test_challenge_request_budget_fields_required():
19-
user = UserFactory.build()
20-
# fill all fields except for budget and input / output fields
48+
def test_challenge_request_budget_fields_required(required_field):
49+
user = UserFactory()
2150
data = {
2251
"creator": user,
2352
"title": "Test request",
2453
"short_name": "example1234",
2554
"start_date": datetime.date.today(),
2655
"end_date": datetime.date.today() + datetime.timedelta(days=1),
27-
"expected_number_of_participants": 10,
28-
"abstract": "test",
29-
"contact_email": "test@test.com",
30-
"organizers": "test",
31-
"challenge_setup": "test",
32-
"data_set": "test",
33-
"submission_assessment": "test",
34-
"challenge_publication": "test",
35-
"code_availability": "test",
36-
"expected_number_of_teams": 10,
37-
"number_of_tasks": 1,
38-
"challenge_fee_agreement": True,
39-
}
40-
form = ChallengeRequestForm(data=data, creator=user)
41-
assert not form.is_valid()
42-
43-
data2 = {
44-
"creator": user,
45-
"title": "Test request",
46-
"short_name": "example1234",
47-
"start_date": datetime.date.today(),
48-
"end_date": datetime.date.today() + datetime.timedelta(days=1),
49-
"expected_number_of_participants": 10,
5056
"abstract": "test",
5157
"contact_email": "test@test.com",
5258
"organizers": "test",
@@ -69,8 +75,15 @@ def test_challenge_request_budget_fields_required():
6975
"phase_1_number_of_test_images": 1,
7076
"phase_2_number_of_test_images": 1,
7177
}
72-
form2 = ChallengeRequestForm(data=data2, creator=user)
73-
assert form2.is_valid()
78+
form = ChallengeRequestForm(data=data, creator=user)
79+
assert form.is_valid(), form.errors
80+
81+
data.pop(required_field)
82+
83+
form = ChallengeRequestForm(data=data, creator=user)
84+
assert not form.is_valid()
85+
assert required_field in form.errors
86+
assert form.errors[required_field] == ["This field is required."]
7487

7588

7689
@pytest.mark.django_db

app/tests/challenges_tests/test_views.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -433,6 +433,9 @@ def test_challenge_request_date_check(client):
433433
"algorithm_outputs": "foo",
434434
"average_size_of_test_image_in_mb": 1,
435435
"inference_time_average_minutes": 11,
436+
"algorithm_maximum_settable_memory_gb": 32,
437+
"algorithm_selectable_gpu_type_choices": ["", "T4"],
438+
"number_of_tasks": 1,
436439
"phase_1_number_of_submissions_per_team": 1,
437440
"phase_2_number_of_submissions_per_team": 1,
438441
"phase_1_number_of_test_images": 1,
@@ -442,10 +445,7 @@ def test_challenge_request_date_check(client):
442445
)
443446
assert response.status_code == 200
444447
assert response.context["form"].errors == {
445-
"algorithm_maximum_settable_memory_gb": ["This field is required."],
446-
"algorithm_selectable_gpu_type_choices": ["This field is required."],
447448
"end_date": ["This field is required."],
448-
"number_of_tasks": ["This field is required."],
449449
"start_date": ["This field is required."],
450450
}
451451

@@ -472,6 +472,9 @@ def test_challenge_request_date_check(client):
472472
"algorithm_outputs": "foo",
473473
"average_size_of_test_image_in_mb": 1,
474474
"inference_time_average_minutes": 11,
475+
"algorithm_maximum_settable_memory_gb": 32,
476+
"algorithm_selectable_gpu_type_choices": ["", "T4"],
477+
"number_of_tasks": 1,
475478
"phase_1_number_of_submissions_per_team": 1,
476479
"phase_2_number_of_submissions_per_team": 1,
477480
"phase_1_number_of_test_images": 1,
@@ -482,9 +485,6 @@ def test_challenge_request_date_check(client):
482485
assert response.status_code == 200
483486
assert response.context["form"].errors == {
484487
"__all__": ["The start date needs to be before the end date."],
485-
"algorithm_maximum_settable_memory_gb": ["This field is required."],
486-
"algorithm_selectable_gpu_type_choices": ["This field is required."],
487-
"number_of_tasks": ["This field is required."],
488488
}
489489

490490

0 commit comments

Comments
 (0)