Skip to content

Commit 6a082d1

Browse files
authored
Fix semester default course end date fallback in import_cms_data (#2622)
Closes #2620 It turns out that by default the namespace gets populated with `None` already, so the `.get(...)` would return the stored `None`.
1 parent e9f6923 commit 6a082d1

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed

evap/evaluation/management/commands/import_cms_data.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ def add_arguments(self, parser: argparse.ArgumentParser):
3232
file_mode = mode.add_parser("file")
3333
file_mode.add_argument("path-to-json", type=Path)
3434
file_mode.add_argument("--semester-id", type=int, required=True)
35-
file_mode.add_argument("--default-course-end-date", type=parse_course_end_date)
35+
file_mode.add_argument("--default-course-end-date", type=parse_course_end_date, default=argparse.SUPPRESS)
3636

3737
def handle(self, *args, **options):
3838
logger.info("import_cms_data called.")

evap/evaluation/tests/test_commands.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -611,3 +611,21 @@ def test_file_import(self, mock_import_json):
611611
stdout=StringIO(),
612612
)
613613
self.assertEqual(cm.exception.args, ("Semester does not exist.",))
614+
615+
@patch("evap.evaluation.management.commands.import_cms_data.JSONImporter")
616+
def test_uses_semester_default_course_end_date(self, mock_json_importer):
617+
semester = baker.make(Semester, default_course_end_date=date(2001, 2, 3))
618+
with TemporaryDirectory() as temp_dir:
619+
test_filename = os.path.join(temp_dir, "test.json")
620+
with open(test_filename, "w", encoding="utf-8") as f:
621+
f.write("example contents")
622+
call_command(
623+
"import_cms_data",
624+
"file",
625+
"--semester-id",
626+
semester.id,
627+
test_filename,
628+
stdout=StringIO(),
629+
)
630+
631+
mock_json_importer.assert_called_once_with(semester, date(2001, 2, 3))

0 commit comments

Comments
 (0)