MDL-59614 course: Behat tests for activity navigation
Part of MDL-59313.
This commit is contained in:
@@ -0,0 +1,289 @@
|
||||
@core @core_course
|
||||
Feature: Activity navigation
|
||||
In order to quickly switch between activities
|
||||
As a user
|
||||
I need to use the activity navigation controls in activities
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | Teacher | 1 | teacher1@example.com |
|
||||
| student1 | Student | 1 | student1@example.com |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | format |
|
||||
| Course 1 | C1 | topics |
|
||||
| Course 2 | C2 | topics |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| student1 | C1 | student |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
| student1 | C2 | student |
|
||||
And the following "activities" exist:
|
||||
| activity | name | intro | course | idnumber | section |
|
||||
| assign | Assignment 1 | Test assignment description | C1 | assign1 | 0 |
|
||||
| book | Book 1 | Test book description | C1 | book1 | 0 |
|
||||
| chat | Chat 1 | Test chat description | C1 | chat1 | 0 |
|
||||
| choice | Choice 1 | Test choice description | C1 | choice1 | 1 |
|
||||
| data | Database 1 | Test database description | C1 | data1 | 1 |
|
||||
| feedback | Feedback 1 | Test feedback description | C1 | feedback1 | 1 |
|
||||
| folder | Folder 1 | Test folder description | C1 | folder1 | 2 |
|
||||
| forum | Forum 1 | Test forum description | C1 | forum1 | 2 |
|
||||
| glossary | Glossary 1 | Test glossary description | C1 | glossary1 | 2 |
|
||||
| imscp | Imscp 1 | Test imscp description | C1 | imscp1 | 3 |
|
||||
| label | Label 1 | Test label description | C1 | label1 | 3 |
|
||||
| lesson | Lesson 1 | Test lesson description | C1 | lesson1 | 3 |
|
||||
| lti | Lti 1 | Test lti description | C1 | lti1 | 4 |
|
||||
| page | Page 1 | Test page description | C1 | page1 | 4 |
|
||||
| quiz | Quiz 1 | Test quiz description | C1 | quiz1 | 4 |
|
||||
| resource | Resource 1 | Test resource description | C1 | resource1 | 5 |
|
||||
| scorm | Scorm 1 | Test scorm description | C1 | scorm1 | 5 |
|
||||
| survey | Survey 1 | Test survey description | C1 | survey1 | 5 |
|
||||
| url | Url 1 | Test url description | C1 | url1 | 6 |
|
||||
| wiki | Wiki 1 | Test wiki description | C1 | wiki1 | 6 |
|
||||
| workshop | Workshop 1 | Test workshop description | C1 | workshop1 | 6 |
|
||||
| assign | Assignment 1 | Test assignment description | C2 | assign21 | 0 |
|
||||
And I log in as "admin"
|
||||
And I set the following administration settings values:
|
||||
| allowstealth | 1 |
|
||||
And I am on "Course 1" course homepage with editing mode on
|
||||
# Stealth activity.
|
||||
And I click on "Hide" "link" in the "Forum 1" activity
|
||||
And I click on "Make available" "link" in the "Forum 1" activity
|
||||
# Hidden activity.
|
||||
And I click on "Hide" "link" in the "Glossary 1" activity
|
||||
# Hidden section.
|
||||
And I hide section "5"
|
||||
# Set up book.
|
||||
And I follow "Book 1"
|
||||
And I should see "Add new chapter"
|
||||
And I set the following fields to these values:
|
||||
| Chapter title | Chapter 1 |
|
||||
| Content | In the beginning... blah, blah, blah. |
|
||||
And I press "Save changes"
|
||||
And I log out
|
||||
|
||||
Scenario: Step through activities in the course as a teacher.
|
||||
Given I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
When I follow "Assignment 1"
|
||||
# The first activity won't have the previous activity link.
|
||||
Then "#prev-activity-link" "css_element" should not exist
|
||||
And I should see "Book 1" in the "#next-activity-link" "css_element"
|
||||
And I follow "Book 1"
|
||||
And I should see "Assignment" in the "#prev-activity-link" "css_element"
|
||||
And I should see "Chat 1" in the "#next-activity-link" "css_element"
|
||||
And I follow "Chat 1"
|
||||
And I should see "Book 1" in the "#prev-activity-link" "css_element"
|
||||
And I should see "Choice 1" in the "#next-activity-link" "css_element"
|
||||
And I follow "Choice 1"
|
||||
And I should see "Chat 1" in the "#prev-activity-link" "css_element"
|
||||
And I should see "Database 1" in the "#next-activity-link" "css_element"
|
||||
And I follow "Database 1"
|
||||
And I should see "Choice 1" in the "#prev-activity-link" "css_element"
|
||||
And I should see "Feedback 1" in the "#next-activity-link" "css_element"
|
||||
And I follow "Feedback 1"
|
||||
And I should see "Database 1" in the "#prev-activity-link" "css_element"
|
||||
# The next link will be Folder 1 because Forum 1 is in stealth mode.
|
||||
And I should see "Folder 1" in the "#next-activity-link" "css_element"
|
||||
And I follow "Folder 1"
|
||||
And I should see "Feedback 1" in the "#prev-activity-link" "css_element"
|
||||
# Hidden activity will have a '(hidden)' text within the activity link.
|
||||
And I should see "Glossary 1 (hidden)" in the "#next-activity-link" "css_element"
|
||||
And I follow "Glossary 1 (hidden)"
|
||||
And I should see "Folder 1" in the "#prev-activity-link" "css_element"
|
||||
And I should see "Imscp 1" in the "#next-activity-link" "css_element"
|
||||
And I follow "Imscp 1"
|
||||
And I should see "Glossary 1" in the "#prev-activity-link" "css_element"
|
||||
# The next link will be Lesson 1 because Label 1 doesn't have a view URL.
|
||||
And I should see "Lesson 1" in the "#next-activity-link" "css_element"
|
||||
And I follow "Lesson 1"
|
||||
And I should see "Imscp 1" in the "#prev-activity-link" "css_element"
|
||||
And I should see "Lti 1" in the "#next-activity-link" "css_element"
|
||||
And I follow "Lti 1"
|
||||
And I should see "Lesson 1" in the "#prev-activity-link" "css_element"
|
||||
And I should see "Page 1" in the "#next-activity-link" "css_element"
|
||||
And I follow "Page 1"
|
||||
And I should see "Lti 1" in the "#prev-activity-link" "css_element"
|
||||
And I should see "Quiz 1" in the "#next-activity-link" "css_element"
|
||||
And I follow "Quiz 1"
|
||||
And I should see "Page 1" in the "#prev-activity-link" "css_element"
|
||||
# Hidden sections will have the activities render with the '(hidden)' text.
|
||||
And I should see "Resource 1 (hidden)" in the "#next-activity-link" "css_element"
|
||||
And I follow "Resource 1 (hidden)"
|
||||
And I should see "Quiz 1" in the "#prev-activity-link" "css_element"
|
||||
And I should see "Scorm 1 (hidden)" in the "#next-activity-link" "css_element"
|
||||
And I follow "Scorm 1 (hidden)"
|
||||
And I should see "Resource 1 (hidden)" in the "#prev-activity-link" "css_element"
|
||||
And I should see "Survey 1 (hidden)" in the "#next-activity-link" "css_element"
|
||||
And I follow "Survey 1 (hidden)"
|
||||
And I should see "Scorm 1 (hidden)" in the "#prev-activity-link" "css_element"
|
||||
And I should see "Url 1" in the "#next-activity-link" "css_element"
|
||||
And I follow "Url 1"
|
||||
And I should see "Survey 1 (hidden)" in the "#prev-activity-link" "css_element"
|
||||
And I should see "Wiki 1" in the "#next-activity-link" "css_element"
|
||||
And I follow "Wiki 1"
|
||||
And I should see "Url 1" in the "#prev-activity-link" "css_element"
|
||||
And I should see "Workshop 1" in the "#next-activity-link" "css_element"
|
||||
And I follow "Workshop 1"
|
||||
And I should see "Wiki 1" in the "#prev-activity-link" "css_element"
|
||||
# The last activity won't have the next activity link.
|
||||
And "#next-activity-link" "css_element" should not exist
|
||||
|
||||
Scenario: Step through activities in the course as a student.
|
||||
Given I log in as "student1"
|
||||
And I am on "Course 1" course homepage
|
||||
When I follow "Assignment 1"
|
||||
# The first activity won't have the previous activity link.
|
||||
Then "#prev-activity-link" "css_element" should not exist
|
||||
And I should see "Book 1" in the "#next-activity-link" "css_element"
|
||||
And I follow "Book 1"
|
||||
And I should see "Assignment" in the "#prev-activity-link" "css_element"
|
||||
And I should see "Chat 1" in the "#next-activity-link" "css_element"
|
||||
And I follow "Chat 1"
|
||||
And I should see "Book 1" in the "#prev-activity-link" "css_element"
|
||||
And I should see "Choice 1" in the "#next-activity-link" "css_element"
|
||||
And I follow "Choice 1"
|
||||
And I should see "Chat 1" in the "#prev-activity-link" "css_element"
|
||||
And I should see "Database 1" in the "#next-activity-link" "css_element"
|
||||
And I follow "Database 1"
|
||||
And I should see "Choice 1" in the "#prev-activity-link" "css_element"
|
||||
And I should see "Feedback 1" in the "#next-activity-link" "css_element"
|
||||
And I follow "Feedback 1"
|
||||
And I should see "Database 1" in the "#prev-activity-link" "css_element"
|
||||
# The next link will be Folder 1 because Forum 1 is in stealth mode.
|
||||
And I should see "Folder 1" in the "#next-activity-link" "css_element"
|
||||
And I follow "Folder 1"
|
||||
And I should see "Feedback 1" in the "#prev-activity-link" "css_element"
|
||||
# The next link will be Imscp 1 because hidden activities are not shown to students.
|
||||
And I should see "Imscp 1" in the "#next-activity-link" "css_element"
|
||||
And I follow "Imscp 1"
|
||||
And I should see "Folder 1" in the "#prev-activity-link" "css_element"
|
||||
# The next link will be Lesson 1 because Label 1 doesn't have a view URL.
|
||||
And I should see "Lesson 1" in the "#next-activity-link" "css_element"
|
||||
And I follow "Lesson 1"
|
||||
And I should see "Imscp 1" in the "#prev-activity-link" "css_element"
|
||||
And I should see "Lti 1" in the "#next-activity-link" "css_element"
|
||||
And I follow "Lti 1"
|
||||
And I should see "Lesson 1" in the "#prev-activity-link" "css_element"
|
||||
And I should see "Page 1" in the "#next-activity-link" "css_element"
|
||||
And I follow "Page 1"
|
||||
And I should see "Lti 1" in the "#prev-activity-link" "css_element"
|
||||
And I should see "Quiz 1" in the "#next-activity-link" "css_element"
|
||||
And I follow "Quiz 1"
|
||||
And I should see "Page 1" in the "#prev-activity-link" "css_element"
|
||||
# Hidden sections will have the activities hidden so the links won't be available to students.
|
||||
And I should see "Url 1" in the "#next-activity-link" "css_element"
|
||||
And I follow "Url 1"
|
||||
And I should see "Quiz 1" in the "#prev-activity-link" "css_element"
|
||||
And I should see "Wiki 1" in the "#next-activity-link" "css_element"
|
||||
And I follow "Wiki 1"
|
||||
And I should see "Url 1" in the "#prev-activity-link" "css_element"
|
||||
And I should see "Workshop 1" in the "#next-activity-link" "css_element"
|
||||
And I follow "Workshop 1"
|
||||
And I should see "Wiki 1" in the "#prev-activity-link" "css_element"
|
||||
# The last activity won't have the next activity link.
|
||||
And "#next-activity-link" "css_element" should not exist
|
||||
|
||||
Scenario: Jump to another activity as a teacher
|
||||
Given I log in as "teacher1"
|
||||
When I am on "Course 1" course homepage
|
||||
And I follow "Assignment 1"
|
||||
Then "Jump to..." "field" should exist
|
||||
# The current activity will not be listed.
|
||||
And the "Jump to..." select box should not contain "Assignment 1"
|
||||
# Stealth activities will not be listed.
|
||||
And the "Jump to..." select box should not contain "Forum 1"
|
||||
# Resources without view URL (e.g. labels) will not be listed.
|
||||
And the "Jump to..." select box should not contain "Label 1"
|
||||
# Check drop down menu contents.
|
||||
And the "Jump to..." select box should contain "Book 1"
|
||||
And the "Jump to..." select box should contain "Chat 1"
|
||||
And the "Jump to..." select box should contain "Choice 1"
|
||||
And the "Jump to..." select box should contain "Database 1"
|
||||
And the "Jump to..." select box should contain "Feedback 1"
|
||||
And the "Jump to..." select box should contain "Folder 1"
|
||||
And the "Jump to..." select box should contain "Imscp 1"
|
||||
And the "Jump to..." select box should contain "Lesson 1"
|
||||
And the "Jump to..." select box should contain "Lti 1"
|
||||
And the "Jump to..." select box should contain "Page 1"
|
||||
And the "Jump to..." select box should contain "Quiz 1"
|
||||
And the "Jump to..." select box should contain "Url 1"
|
||||
And the "Jump to..." select box should contain "Wiki 1"
|
||||
And the "Jump to..." select box should contain "Workshop 1"
|
||||
# Hidden activities will be rendered with a '(hidden)' text.
|
||||
And the "Jump to..." select box should contain "Glossary 1 (hidden)"
|
||||
# Activities in hidden sections will be rendered with a '(hidden)' text.
|
||||
And the "Jump to..." select box should contain "Resource 1 (hidden)"
|
||||
And the "Jump to..." select box should contain "Scorm 1 (hidden)"
|
||||
And the "Jump to..." select box should contain "Survey 1 (hidden)"
|
||||
# Jump to an activity somewhere in the middle.
|
||||
When I select "Page 1" from the "Jump to..." singleselect
|
||||
Then I should see "Page 1"
|
||||
And I should see "Lti 1" in the "#prev-activity-link" "css_element"
|
||||
And I should see "Quiz 1" in the "#next-activity-link" "css_element"
|
||||
# Jump to the first activity.
|
||||
And I select "Assignment 1" from the "Jump to..." singleselect
|
||||
And I should see "Book 1" in the "#next-activity-link" "css_element"
|
||||
But "#prev-activity-link" "css_element" should not exist
|
||||
# Jump to the last activity.
|
||||
And I select "Workshop 1" from the "Jump to..." singleselect
|
||||
And I should see "Wiki 1" in the "#prev-activity-link" "css_element"
|
||||
But "#next-activity-link" "css_element" should not exist
|
||||
# Jump to a hidden activity.
|
||||
And I select "Glossary 1" from the "Jump to..." singleselect
|
||||
And I should see "Folder 1" in the "#prev-activity-link" "css_element"
|
||||
And I should see "Imscp 1" in the "#next-activity-link" "css_element"
|
||||
|
||||
Scenario: Jump to another activity as a student
|
||||
Given I log in as "student1"
|
||||
And I am on "Course 1" course homepage
|
||||
And I follow "Assignment 1"
|
||||
And "Jump to..." "field" should exist
|
||||
# The current activity will not be listed.
|
||||
And the "Jump to..." select box should not contain "Assignment 1"
|
||||
# Stealth activities will not be listed for students.
|
||||
And the "Jump to..." select box should not contain "Forum 1"
|
||||
# Resources without view URL (e.g. labels) will not be listed.
|
||||
And the "Jump to..." select box should not contain "Label 1"
|
||||
# Hidden activities will not be listed for students.
|
||||
And the "Jump to..." select box should not contain "Glossary 1"
|
||||
# Activities in hidden sections will not be listed for students.
|
||||
And the "Jump to..." select box should not contain "Resource 1"
|
||||
And the "Jump to..." select box should not contain "Scorm 1"
|
||||
And the "Jump to..." select box should not contain "Survey 1"
|
||||
# Only activities visible to students will be listed.
|
||||
And the "Jump to..." select box should contain "Book 1"
|
||||
And the "Jump to..." select box should contain "Chat 1"
|
||||
And the "Jump to..." select box should contain "Choice 1"
|
||||
And the "Jump to..." select box should contain "Database 1"
|
||||
And the "Jump to..." select box should contain "Feedback 1"
|
||||
And the "Jump to..." select box should contain "Folder 1"
|
||||
And the "Jump to..." select box should contain "Imscp 1"
|
||||
And the "Jump to..." select box should contain "Lesson 1"
|
||||
And the "Jump to..." select box should contain "Lti 1"
|
||||
And the "Jump to..." select box should contain "Page 1"
|
||||
And the "Jump to..." select box should contain "Quiz 1"
|
||||
And the "Jump to..." select box should contain "Url 1"
|
||||
And the "Jump to..." select box should contain "Wiki 1"
|
||||
And the "Jump to..." select box should contain "Workshop 1"
|
||||
# Jump to an activity somewhere in the middle.
|
||||
When I select "Page 1" from the "Jump to..." singleselect
|
||||
Then I should see "Page 1"
|
||||
And I should see "Lti 1" in the "#prev-activity-link" "css_element"
|
||||
And I should see "Quiz 1" in the "#next-activity-link" "css_element"
|
||||
# Jump to the first activity.
|
||||
And I select "Assignment 1" from the "Jump to..." singleselect
|
||||
And I should see "Book 1" in the "#next-activity-link" "css_element"
|
||||
But "#prev-activity-link" "css_element" should not exist
|
||||
# Jump to the last activity.
|
||||
And I select "Workshop 1" from the "Jump to..." singleselect
|
||||
And I should see "Wiki 1" in the "#prev-activity-link" "css_element"
|
||||
But "#next-activity-link" "css_element" should not exist
|
||||
|
||||
Scenario: Open an activity in a course that only has a single activity
|
||||
Given I log in as "student1"
|
||||
And I am on "Course 2" course homepage
|
||||
And I follow "Assignment 1"
|
||||
Then "#prev-activity-link" "css_element" should not exist
|
||||
And "#next-activity-link" "css_element" should not exist
|
||||
And "Jump to..." "field" should not exist
|
||||
@@ -0,0 +1,62 @@
|
||||
@core @core_course
|
||||
Feature: Activity navigation involving activities with access restrictions
|
||||
In order to quickly switch to another activity that has access restrictions
|
||||
As a student
|
||||
I need to be able to use the activity navigation feature to access the activity after satisfying its access conditions
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | Teacher | 1 | teacher1@example.com |
|
||||
| student1 | Student | 1 | student1@example.com |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | format | enablecompletion |
|
||||
| Course 1 | C1 | topics | 1 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| student1 | C1 | student |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
And the following "activities" exist:
|
||||
| activity | name | intro | course | idnumber | section |
|
||||
| page | Page 1 | Test page description 1 | C1 | page1 | 0 |
|
||||
| page | Page 2 | Test page description 2 | C1 | page2 | 0 |
|
||||
| page | Page 3 | Test page description 3 | C1 | page3 | 0 |
|
||||
| page | Page 4 | Test page description 4 | C1 | page4 | 0 |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage with editing mode on
|
||||
# Set completion for Page 2.
|
||||
And I open "Page 2" actions menu
|
||||
And I click on "Edit settings" "link" in the "Page 2" activity
|
||||
And I expand all fieldsets
|
||||
And I set the field "Completion tracking" to "Show activity as complete when conditions are met"
|
||||
And I set the following fields to these values:
|
||||
| Completion tracking | Show activity as complete when conditions are met |
|
||||
| Require view | 1 |
|
||||
And I press "Save and return to course"
|
||||
# Require Page 2 to be completed first before Page 3 can be accessed.
|
||||
And I open "Page 3" actions menu
|
||||
And I click on "Edit settings" "link" in the "Page 3" activity
|
||||
And I expand all fieldsets
|
||||
And I click on "Add restriction..." "button"
|
||||
And I click on "Activity completion" "button" in the "Add restriction..." "dialogue"
|
||||
And I set the field "Activity or resource" to "Page 2"
|
||||
And I press "Save and return to course"
|
||||
And I log out
|
||||
|
||||
@javascript
|
||||
Scenario: Activity navigation involving activities with access restrictions
|
||||
Given I log in as "student1"
|
||||
And I am on "Course 1" course homepage
|
||||
When I follow "Page 1"
|
||||
Then I should see "Page 2" in the "#next-activity-link" "css_element"
|
||||
# Activity that has access restriction should not show up in the dropdown.
|
||||
And the "Jump to..." select box should not contain "Page 3"
|
||||
And I select "Page 4" from the "Jump to..." singleselect
|
||||
# Page 2 should be shown in the previous link since Page 3 is not yet available.
|
||||
And I should see "Page 2" in the "#prev-activity-link" "css_element"
|
||||
And the "Jump to..." select box should not contain "Page 3"
|
||||
# Navigate to Page 2.
|
||||
And I follow "Page 2"
|
||||
# Since Page 2 has now been viewed and deemed completed, Page 3 can now be accessed.
|
||||
And I should see "Page 3" in the "#next-activity-link" "css_element"
|
||||
And the "Jump to..." select box should contain "Page 3"
|
||||
Reference in New Issue
Block a user