Importing assignments with due dates can generate assignments without submissions for the students(which causes many problems) if trying to date shift, but only if entering in a start date for the destination course that takes place after the assignment's due date and leaving the other date fields blank. The import is marked as failed with an error indicating that “Validation failed: Conclude at End date cannot be before start date.” but the assignment is still improperly created in the course.
Currently we have no validation around the date entry boxes used when shifting due dates during a content migration. You can even enter in random text and it will accept it and allow the import.
Improperly used date shifting has been a thorn in support's side for a long time, we should validate that
what is entered in the field is actually a date
the start date is before the end date for both the source and destination course date sets
that all four date fields are filled in if at least one field is filled in
Alternatively, either submissions should still be created for the existing enrollments at the time of import or the assignments should not be copied over when a validation failure occurs for the import.
Steps to Reproduce
Requirement: Course A with no course start or end date and at least one assignment with a due date; Course B with no course start or end date and at least one student enrolled; and a teacher enrolled in both courses.
As the teacher on the content migration page of Course B, choose the Copy a Canvas option and select to copy Course A.
Select the option to shift dates. Leave both old course dates and the new course end date blank. Enter a new course start date after the due date of the assignment in course A.
Note that the import fails with an error. The error report for the migration is: Validation failed: Conclude at End date cannot be before start date.
On the assignments index page, observe that the assignments did import. In the API, observe that no submissions were created.