From cdc7bf120e6781e1b1d7430b4eb8f5b1f1e1ac1e Mon Sep 17 00:00:00 2001 From: Andrew Nicols Date: Thu, 15 Jun 2023 09:28:05 +0800 Subject: [PATCH] MDL-76733 mod_assign: Remove JS requirement for time-based tests Converting these tests to use an onlinetext submission and drop the JS requirement means that they are much less susceptible to runtime issues, and not susceptible to those caused by JS at all. --- .../tests/behat/set_availability.feature | 74 +++++++++---------- 1 file changed, 34 insertions(+), 40 deletions(-) diff --git a/mod/assign/tests/behat/set_availability.feature b/mod/assign/tests/behat/set_availability.feature index 7f04ebfdf4e..2ef62f9a2b6 100644 --- a/mod/assign/tests/behat/set_availability.feature +++ b/mod/assign/tests/behat/set_availability.feature @@ -21,14 +21,13 @@ Feature: Set availability dates for an assignment Scenario: Student cannot submit an assignment prior to the 'allow submissions from' date Given the following "activity" exists: - | activity | assign | - | course | C1 | - | name | Assignment name | - | assignsubmission_file_enabled | 1 | - | assignsubmission_file_maxfiles | 1 | - | assignsubmission_file_maxsizebytes | 0 | - | submissiondrafts | 0 | - | allowsubmissionsfromdate | ##tomorrow noon## | + | activity | assign | + | course | C1 | + | name | Assignment name | + | assignsubmission_onlinetext_enabled | 1 | + | assignsubmission_file_enabled | 0 | + | submissiondrafts | 0 | + | allowsubmissionsfromdate | ##tomorrow noon## | When I am on the "Assignment name" Activity page logged in as student1 Then "Add submission" "button" should not exist And the activity date in "Assignment name" should contain "Opens:" @@ -37,15 +36,14 @@ Feature: Set availability dates for an assignment @javascript Scenario: Student can see the assignment's due date in the course calendar Given the following "activity" exists: - | activity | assign | - | course | C1 | - | name | Assignment name | - | assignsubmission_file_enabled | 1 | - | assignsubmission_file_maxfiles | 1 | - | assignsubmission_file_maxsizebytes | 0 | - | submissiondrafts | 0 | - | allowsubmissionsfromdate | ##first day of this month noon## | - | duedate | ##first day of this month noon +24 hours## | + | activity | assign | + | course | C1 | + | name | Assignment name | + | assignsubmission_onlinetext_enabled | 1 | + | assignsubmission_file_enabled | 0 | + | submissiondrafts | 0 | + | allowsubmissionsfromdate | ##first day of this month noon## | + | duedate | ##first day of this month noon +24 hours## | And the following "blocks" exist: | blockname | contextlevel | reference | pagetypepattern | defaultregion | | calendar_month | Course | C1 | course-view-* | site-post | @@ -53,25 +51,23 @@ Feature: Set availability dates for an assignment And I hover over day "2" of this month in the calendar Then I should see "C1: Assignment name is due" - @javascript @_file_upload Scenario: Student can submit an assignment before the due date Given the following "activity" exists: - | activity | assign | - | course | C1 | - | name | Assignment name | - | assignsubmission_file_enabled | 1 | - | assignsubmission_file_maxfiles | 1 | - | assignsubmission_file_maxsizebytes | 0 | - | submissiondrafts | 0 | - | allowsubmissionsfromdate | ##now## | - | duedate | ##+2 days 5 hours 30 minutes## | + | activity | assign | + | course | C1 | + | name | Assignment name | + | assignsubmission_onlinetext_enabled | 1 | + | assignsubmission_file_enabled | 0 | + | submissiondrafts | 0 | + | allowsubmissionsfromdate | ##now## | + | duedate | ##+2 days 5 hours 30 minutes## | When I am on the "Assignment name" Activity page logged in as student1 And the activity date in "Assignment name" should contain "Due:" And the activity date in "Assignment name" should contain "##+2 days 5 hours 30 minutes##%A, %d %B %Y##" And I should see "2 days 5 hours" in the "Time remaining" "table_row" And "Add submission" "button" should exist And I press "Add submission" - And I upload "lib/tests/fixtures/empty.txt" file to "File submissions" filemanager + And I set the field "Online text" to "This is my submission" And I press "Save changes" And I should see "Submitted for grading" in the "Submission status" "table_row" @@ -80,26 +76,24 @@ Feature: Set availability dates for an assignment And I navigate to "View all submissions" in current page administration And I should see "Submitted for grading" in the "Student 1" "table_row" - @javascript @_file_upload Scenario: Student can submit an assignment after the due date and the submission is marked as late Given the following "activity" exists: - | activity | assign | - | course | C1 | - | name | Assignment name | - | assignsubmission_file_enabled | 1 | - | assignsubmission_file_maxfiles | 1 | - | assignsubmission_file_maxsizebytes | 0 | - | submissiondrafts | 0 | - | allowsubmissionsfromdate | ##3 days ago## | - | duedate | ##2 days 5 hours 30 minutes ago## | - | cutoffdate | ##tomorrow noon## | + | activity | assign | + | course | C1 | + | name | Assignment name | + | assignsubmission_onlinetext_enabled | 1 | + | assignsubmission_file_enabled | 0 | + | submissiondrafts | 0 | + | allowsubmissionsfromdate | ##3 days ago## | + | duedate | ##2 days 5 hours 30 minutes ago## | + | cutoffdate | ##tomorrow noon## | When I am on the "Assignment name" Activity page logged in as student1 And the activity date in "Assignment name" should contain "Due:" And the activity date in "Assignment name" should contain "##2 days 5 hours 30 minutes ago##%A, %d %B %Y##" And I should see "Assignment is overdue by: 2 days 5 hours" in the "Time remaining" "table_row" And "Add submission" "button" should exist And I press "Add submission" - And I upload "lib/tests/fixtures/empty.txt" file to "File submissions" filemanager + And I set the field "Online text" to "This is my submission" And I press "Save changes" And I should see "Submitted for grading" in the "Submission status" "table_row" And I should see "Assignment was submitted 2 days 5 hours late" in the "Time remaining" "table_row"