Proyectos de Subversion Moodle

Rev

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

@core @core_admin @core_reportbuilder
Feature: An administrator can filter user accounts by role, cohort and other profile fields
  In order to find the user accounts I am looking for
  As an admin
  I need to filter the users account list using different filter

  Background:
    Given the following "custom profile fields" exist:
      | datatype | shortname | name           |
      | text     | frog      | Favourite frog |
      | text     | undead    | Type of undead |
    And the following "users" exist:
      | username | firstname | lastname | email | auth | confirmed | lastip | institution | department | profile_field_frog | profile_field_undead |
      | user1 | User | One | one@example.com | manual | 0 | 127.0.1.1       | moodle      | red        | Kermit             |                      |
      | user2 | User | Two | two@example.com | ldap | 1 | 0.0.0.0           | moodle      | blue       | Mr Toad            | Zombie               |
      | user3 | User | Three | three@example.com | manual | 1 | 0.0.0.0 |                 |            |                    |                      |
      | user4 | User | Four | four@example.com | ldap | 0 | 127.0.1.2 |                   |            |                    |                      |
    And the following "cohorts" exist:
      | name | idnumber |
      | Cohort 1 | CH1 |
    And the following "cohort members" exist:
      | user  | cohort |
      | user2 | CH1    |
      | user3 | CH1    |
    And the following "courses" exist:
      | fullname | shortname | category |
      | Course 1 | C1 | 0 |
    And the following "course enrolments" exist:
      | user | course | role |
      | user1 | C1 | student |
      | user2 | C1 | student |
      | user3 | C1 | student |
    And I log in as "admin"
    And I navigate to "Users > Accounts > Browse list of users" in site administration

  @javascript
  Scenario: Filter user accounts by role and cohort
    When I click on "Filters" "button"
    And I set the following fields in the "Course role" "core_reportbuilder > Filter" to these values:
      | Role name         | Student     |
      | Course short name | C1          |
    And I click on "Apply" "button" in the "[data-region='report-filters']" "css_element"
    Then I should see "User One" in the "reportbuilder-table" "table"
    And I should see "User Two" in the "reportbuilder-table" "table"
    And I should see "User Three" in the "reportbuilder-table" "table"
    And I should not see "User Four" in the "reportbuilder-table" "table"
    And I click on "Reset all" "button" in the "[data-region='report-filters']" "css_element"
    And I set the following fields in the "Cohort ID" "core_reportbuilder > Filter" to these values:
      | Cohort ID operator | Is equal to |
      | Cohort ID value    | CH1         |
    And I click on "Apply" "button" in the "[data-region='report-filters']" "css_element"
    And I should not see "User One" in the "reportbuilder-table" "table"
    And I should see "User Two" in the "reportbuilder-table" "table"
    And I should see "User Three" in the "reportbuilder-table" "table"
    And I should not see "User Four" in the "reportbuilder-table" "table"
    And I click on "Reset all" "button" in the "[data-region='report-filters']" "css_element"
    And I should see "User One" in the "reportbuilder-table" "table"
    And I should see "User Two" in the "reportbuilder-table" "table"
    And I should see "User Three" in the "reportbuilder-table" "table"
    And I should see "User Four" in the "reportbuilder-table" "table"

  @javascript
  Scenario: Filter user accounts by confirm and authentication method
    When I click on "Filters" "button"
    And I set the following fields in the "Confirmed" "core_reportbuilder > Filter" to these values:
      | Confirmed operator | No |
    And I click on "Apply" "button" in the "[data-region='report-filters']" "css_element"
    Then I should see "User One" in the "reportbuilder-table" "table"
    And I should not see "User Two" in the "reportbuilder-table" "table"
    And I should not see "User Three" in the "reportbuilder-table" "table"
    And I should see "User Four" in the "reportbuilder-table" "table"
    And I set the following fields in the "Authentication" "core_reportbuilder > Filter" to these values:
      | Authentication operator | Is equal to     |
      | Authentication value    | Manual accounts |
    And I click on "Apply" "button" in the "[data-region='report-filters']" "css_element"
    And I should see "User One" in the "reportbuilder-table" "table"
    And I should not see "User Two" in the "reportbuilder-table" "table"
    And I should not see "User Three" in the "reportbuilder-table" "table"
    And I should not see "User Four" in the "reportbuilder-table" "table"

  @javascript
  Scenario: Filter user accounts by enrolled in any course
    When I click on "Filters" "button"
    And I set the following fields in the "Enrolled in any course" "core_reportbuilder > Filter" to these values:
      | Enrolled in any course operator | Yes |
    And I click on "Apply" "button" in the "[data-region='report-filters']" "css_element"
    Then I should see "User One" in the "reportbuilder-table" "table"
    And I should see "User Two" in the "reportbuilder-table" "table"
    And I should see "User Three" in the "reportbuilder-table" "table"
    And I should not see "User Four" in the "reportbuilder-table" "table"
    And I set the following fields in the "Enrolled in any course" "core_reportbuilder > Filter" to these values:
      | Enrolled in any course operator | No |
    And I click on "Apply" "button" in the "[data-region='report-filters']" "css_element"
    And I should not see "User One" in the "reportbuilder-table" "table"
    And I should not see "User Two" in the "reportbuilder-table" "table"
    And I should not see "User Three" in the "reportbuilder-table" "table"
    And I should see "User Four" in the "reportbuilder-table" "table"

  @javascript
  Scenario: Filter user accounts by last IP address
    When I click on "Filters" "button"
    And I set the following fields in the "Last IP address" "core_reportbuilder > Filter" to these values:
      | Last IP address operator | Is equal to |
      | Last IP address value    | 127.0.1.1   |
    And I click on "Apply" "button" in the "[data-region='report-filters']" "css_element"
    Then I should see "User One" in the "reportbuilder-table" "table"
    And I should not see "User Two" in the "reportbuilder-table" "table"
    And I should not see "User Three" in the "reportbuilder-table" "table"
    And I should not see "User Four" in the "reportbuilder-table" "table"
    And I set the following fields in the "Last IP address" "core_reportbuilder > Filter" to these values:
      | Last IP address operator | Is equal to |
      | Last IP address value    | 127.0.1.2   |
    And I click on "Apply" "button" in the "[data-region='report-filters']" "css_element"
    And I should not see "User One" in the "reportbuilder-table" "table"
    And I should not see "User Two" in the "reportbuilder-table" "table"
    And I should not see "User Three" in the "reportbuilder-table" "table"
    And I should see "User Four" in the "reportbuilder-table" "table"
    And I click on "Reset all" "button" in the "[data-region='report-filters']" "css_element"
    And I should see "User One" in the "reportbuilder-table" "table"
    And I should see "User Two" in the "reportbuilder-table" "table"
    And I should see "User Three" in the "reportbuilder-table" "table"
    And I should see "User Four" in the "reportbuilder-table" "table"

  @javascript
  Scenario: Filter users by institution and department
    When I click on "Filters" "button"
    And I set the following fields in the "Institution" "core_reportbuilder > Filter" to these values:
      | Institution operator | Is equal to |
      | Institution value    | moodle      |
    And I click on "Apply" "button" in the "[data-region='report-filters']" "css_element"
    Then I should see "User One" in the "reportbuilder-table" "table"
    And I should see "User Two" in the "reportbuilder-table" "table"
    And I should not see "User Three" in the "reportbuilder-table" "table"
    And I should not see "User Four" in the "reportbuilder-table" "table"
    And I set the following fields in the "Department" "core_reportbuilder > Filter" to these values:
      | Department operator | Is equal to |
      | Department value    | red         |
    And I click on "Apply" "button" in the "[data-region='report-filters']" "css_element"
    And I should see "User One" in the "reportbuilder-table" "table"
    And I should not see "User Two" in the "reportbuilder-table" "table"

  @javascript
  Scenario: Filter users by custom profile field (specific or any)
    When I click on "Filters" "button"
    And I set the following fields in the "Favourite frog" "core_reportbuilder > Filter" to these values:
      | Favourite frog operator | Is equal to |
      | Favourite frog value    | Kermit      |
    And I click on "Apply" "button" in the "[data-region='report-filters']" "css_element"
    Then I should see "User One" in the "reportbuilder-table" "table"
    And I should not see "User Two" in the "reportbuilder-table" "table"
    And I should not see "User Three" in the "reportbuilder-table" "table"
    And I should not see "User Four" in the "reportbuilder-table" "table"
    And I click on "Reset all" "button" in the "[data-region='report-filters']" "css_element"
    And I set the following fields in the "Type of undead" "core_reportbuilder > Filter" to these values:
      | Type of undead operator | Is equal to |
      | Type of undead value    | Zombie      |
    And I click on "Apply" "button" in the "[data-region='report-filters']" "css_element"
    And I should see "User Two" in the "reportbuilder-table" "table"
    And I should not see "User One" in the "reportbuilder-table" "table"
    And I should not see "User Three" in the "reportbuilder-table" "table"
    And I should not see "User Four" in the "reportbuilder-table" "table"

  @javascript
  Scenario: Filter users by full name
    When I click on "Filters" "button"
    And I set the following fields in the "Full name" "core_reportbuilder > Filter" to these values:
      | Full name operator | Is equal to |
      | Full name value    | User One    |
    And I click on "Apply" "button" in the "[data-region='report-filters']" "css_element"
    Then I should see "User One" in the "reportbuilder-table" "table"
    And I should not see "User Two" in the "reportbuilder-table" "table"
    And I should not see "User Three" in the "reportbuilder-table" "table"
    And I should not see "User Four" in the "reportbuilder-table" "table"
    And I click on "Reset all" "button" in the "[data-region='report-filters']" "css_element"
    And I set the following fields in the "Full name" "core_reportbuilder > Filter" to these values:
      | Full name operator | Is equal to |
      | Full name value    | User Two    |
    And I click on "Apply" "button" in the "[data-region='report-filters']" "css_element"
    And I should see "User Two" in the "reportbuilder-table" "table"
    And I should not see "User One" in the "reportbuilder-table" "table"
    And I should not see "User Three" in the "reportbuilder-table" "table"
    And I should not see "User Four" in the "reportbuilder-table" "table"