Proyectos de Subversion Moodle

Rev

Autoría | Ultima modificación | Ver Log |

@core @core_course
Feature: Access to downloading course content can be controlled
  In order to allow or restrict access to download course content
  As a trusted user
  I can control access to the download course content feature

  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 |
      | Hockey 101 | C1        |
    And the following "course enrolments" exist:
      | user     | course | role           |
      | teacher1 | C1     | editingteacher |
      | student1 | C1     | student        |
    And the following config values are set as admin:
      | downloadcoursecontentallowed | 1 |

  Scenario: Site admins can remove the download course content feature
    Given I log in as "admin"
    And I am on "Hockey 101" course homepage
    And I navigate to "Settings" in current page administration
    And I set the field "Enable download course content" to "Yes"
    And I press "Save and display"
    Then "Download course content" "link" should exist in current page administration
    When the following config values are set as admin:
      | downloadcoursecontentallowed | 0 |
    And I am on "Hockey 101" course homepage
    Then "Download course content" "link" should not exist in current page administration
    And I navigate to "Settings" in current page administration
    And I should not see "Enable download course content"

  Scenario: Site admins can set the default value for whether download course content is enabled in courses
    Given I log in as "admin"
    And I am on "Hockey 101" course homepage
    And "Download course content" "link" should not exist in current page administration
    When I navigate to "Courses > Default settings > Course default settings" in site administration
    And I set the field "Enable download course content" to "Yes"
    And I press "Save changes"
    And I am on "Hockey 101" course homepage
    Then "Download course content" "link" should exist in current page administration

  Scenario: A teacher can enable and disable the download course content feature when it is available
    Given I log in as "teacher1"
    When I am on "Hockey 101" course homepage
    And "Download course content" "link" should not exist in current page administration
    And I navigate to "Settings" in current page administration
    And I should see "Enable download course content"
    And I set the field "Enable download course content" to "Yes"
    And I press "Save and display"
    Then "Download course content" "link" should exist in current page administration
    And I navigate to "Settings" in current page administration
    And I set the field "Enable download course content" to "No"
    And I press "Save and display"
    Then "Download course content" "link" should not exist in current page administration

  Scenario: Teachers require a capability to access the download course content feature or modify its availability in a course
    Given the following config values are set as admin:
      | config                     | value | plugin       |
      | downloadcontentsitedefault | 1     | moodlecourse |
    # Check teacher can see download option and enable dropdown.
    And I log in as "teacher1"
    And I am on "Hockey 101" course homepage
    Then "Download course content" "link" should exist in current page administration
    And I navigate to "Settings" in current page administration
    And "Enable download course content" "select" should exist
    # Remove teacher's capabilities for download course content.
    And the following "role capability" exists:
      | role                                   | editingteacher |
      | moodle/course:downloadcoursecontent    | prohibit       |
      | moodle/course:configuredownloadcontent | prohibit       |
    # Check teacher can no longer see download option, and that enable value is visible, but dropdown no longer available.
    When I log in as "teacher1"
    And I am on "Hockey 101" course homepage
    Then "Download course content" "link" should not exist in current page administration
    And I navigate to "Settings" in current page administration
    And I should see "Enable download course content"
    And I should see "Site default (Yes)"
    And "Enable download course content" "select" should not exist

  Scenario: Students require a capability to access the download course content feature in a course
    Given I log in as "teacher1"
    And I am on "Hockey 101" course homepage
    And I navigate to "Settings" in current page administration
    And I set the field "Enable download course content" to "Yes"
    And I press "Save and display"
    And I log out
    # Check student can see the download link.
    And I log in as "student1"
    And I am on "Hockey 101" course homepage
    And "Download course content" "link" should exist in current page administration
    # Remove student's capability for download course content.
    When the following "role capability" exists:
      | role                                   | student  |
      | moodle/course:downloadcoursecontent    | prohibit |
    # Check student can no longer see the download link.
    And I log in as "student1"
    And I am on "Hockey 101" course homepage
    Then "Download course content" "link" should not exist in current page administration