Your IP : 192.168.165.1


Current Path : C:/xampp/htdocs/moodle/course/tests/behat/
Upload File :
Current File : C:/xampp/htdocs/moodle/course/tests/behat/activity_navigation.feature

@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