You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

290 lines
17 KiB

@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