Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 1
@core_reportbuilder @javascript
2
Feature: Manage custom report filters
3
  In order to manage the filters of custom reports
4
  As an admin
5
  I need to add, edit and delete filters in a report
6
 
7
  Scenario: Add filter to report
8
    Given the following "core_reportbuilder > Reports" exist:
9
      | name      | source                                   | default |
10
      | My report | core_user\reportbuilder\datasource\users | 0       |
11
    And I am on the "My report" "reportbuilder > Editor" page logged in as "admin"
12
    When I click on "Show/hide 'Filters'" "button"
13
    Then I should see "There are no filters selected" in the "[data-region='active-filters']" "css_element"
14
    And I set the field "Select a filter" to "Email address"
15
    And I should see "Added filter 'Email address'"
16
    And I should not see "There are no filters selected" in the "[data-region='active-filters']" "css_element"
17
    And I should see "Email address" in the "[data-region='active-filters']" "css_element"
18
 
19
  Scenario: Rename filter in report
20
    Given the following "core_reportbuilder > Reports" exist:
21
      | name      | source                                   | default |
22
      | My report | core_user\reportbuilder\datasource\users | 0       |
23
    And the following "core_reportbuilder > Filters" exist:
24
      | report    | uniqueidentifier |
25
      | My report | user:email       |
26
    And I am on the "My report" "reportbuilder > Editor" page logged in as "admin"
27
    And I click on "Show/hide 'Filters'" "button"
28
    When I set the field "Rename filter 'Email address'" to "My Email filter"
29
    And I reload the page
30
    And I click on "Show/hide 'Filters'" "button"
31
    Then I should see "My Email filter" in the "[data-region='active-filters']" "css_element"
32
 
33
  Scenario: Rename filter in report using filters
34
    Given the "multilang" filter is "on"
35
    And the "multilang" filter applies to "content and headings"
36
    And the following "core_reportbuilder > Reports" exist:
37
      | name      | source                                   | default |
38
      | My report | core_user\reportbuilder\datasource\users | 0       |
39
    And the following "core_reportbuilder > Filters" exist:
40
      | report    | uniqueidentifier |
41
      | My report | user:email       |
42
    And I am on the "My report" "reportbuilder > Editor" page logged in as "admin"
43
    And I click on "Show/hide 'Filters'" "button"
44
    When I set the field "Rename filter 'Email address'" to "<span class=\"multilang\" lang=\"en\">English</span><span class=\"multilang\" lang=\"es\">Spanish</span>"
45
    And I reload the page
46
    And I click on "Show/hide 'Filters'" "button"
47
    Then I should see "English" in the "[data-region='active-filters']" "css_element"
48
    And I should not see "Spanish" in the "[data-region='active-filters']" "css_element"
49
 
50
  Scenario: Rename filter in report using special characters
51
    Given the following "core_reportbuilder > Reports" exist:
52
      | name      | source                                   | default |
53
      | My report | core_user\reportbuilder\datasource\users | 0       |
54
    And the following "core_reportbuilder > Filters" exist:
55
      | report    | uniqueidentifier |
56
      | My report | user:email       |
57
    And I am on the "My report" "reportbuilder > Editor" page logged in as "admin"
58
    And I click on "Show/hide 'Filters'" "button"
59
    When I set the field "Rename filter 'Email address'" to "Fish & Chips"
60
    And I click on "Switch to preview mode" "button"
61
    And I click on "Filters" "button"
62
    Then I should see "Fish & Chips" in the "[data-region='report-filters']" "css_element"
63
 
64
  Scenario: Move filter in report
65
    Given the following "core_reportbuilder > Reports" exist:
66
      | name      | source                                   | default |
67
      | My report | core_user\reportbuilder\datasource\users | 0       |
68
    And the following "core_reportbuilder > Filters" exist:
69
      | report    | uniqueidentifier |
70
      | My report | user:fullname    |
71
      | My report | user:email       |
72
      | My report | user:country     |
73
    And I am on the "My report" "reportbuilder > Editor" page logged in as "admin"
74
    When I click on "Show/hide 'Filters'" "button"
75
    And I click on "Move filter 'Country'" "button"
76
    And I click on "After \"Full name\"" "link" in the "Move filter 'Country'" "dialogue"
77
    Then I should see "Moved filter 'Country'"
78
    And "Country" "text" should appear before "Email address" "text"
79
 
80
  Scenario: Delete filter from report
81
    Given the following "core_reportbuilder > Reports" exist:
82
      | name      | source                                   | default |
83
      | My report | core_user\reportbuilder\datasource\users | 0       |
84
    And the following "core_reportbuilder > Filters" exist:
85
      | report    | uniqueidentifier |
86
      | My report | user:email       |
87
    And I am on the "My report" "reportbuilder > Editor" page logged in as "admin"
88
    And I click on "Show/hide 'Filters'" "button"
89
    And I click on "Delete filter 'Email address'" "button"
90
    And I click on "Delete" "button" in the "Delete filter 'Email address'" "dialogue"
91
    Then I should see "Deleted filter 'Email address'"
92
    And I should see "There are no filters selected" in the "[data-region='active-filters']" "css_element"
93
    And I should not see "Email address" in the "[data-region='active-filters']" "css_element"
94
 
95
  Scenario: Reset filters in report
96
    Given the following "core_reportbuilder > Reports" exist:
97
      | name      | source                                   |
98
      | My report | core_user\reportbuilder\datasource\users |
99
    And I am on the "My report" "reportbuilder > View" page logged in as "admin"
100
    When I click on "Filters" "button"
101
    And I set the following fields in the "Full name" "core_reportbuilder > Filter" to these values:
102
      | Full name operator | Contains |
103
      | Full name value    | Lionel   |
104
    And I click on "Apply" "button" in the "[data-region='report-filters']" "css_element"
105
    And I should see "Nothing to display"
106
    And I click on "Reset all" "button" in the "[data-region='report-filters']" "css_element"
107
    Then I should see "Filters reset"
108
    And the following fields in the "Full name" "core_reportbuilder > Filter" match these values:
109
      | Full name operator | Is any value |
110
    And I should see "Admin User" in the "reportbuilder-table" "table"
111
 
112
  Scenario: Use report filters when previewing report
113
    Given the following "users" exist:
114
      | username  | firstname | lastname |
115
      | user1     | User      | 1        |
116
      | user2     | User      | 2        |
117
      | user3     | User      | 3        |
118
    And the following "core_reportbuilder > Reports" exist:
119
      | name      | source                                   | default |
120
      | My report | core_user\reportbuilder\datasource\users | 0       |
121
    And the following "core_reportbuilder > Columns" exist:
122
      | report    | uniqueidentifier  |
123
      | My report | user:fullname     |
124
      | My report | user:email        |
125
    And the following "core_reportbuilder > Filters" exist:
126
      | report    | uniqueidentifier |
127
      | My report | user:fullname    |
128
    And I am on the "My report" "reportbuilder > Editor" page logged in as "admin"
129
    And I change window size to "large"
130
    And I should see "user1@example.com" in the ".reportbuilder-table" "css_element"
131
    And I should see "user2@example.com" in the ".reportbuilder-table" "css_element"
132
    And I should see "user3@example.com" in the ".reportbuilder-table" "css_element"
133
    When I click on "Switch to preview mode" "button"
134
    And I click on "Filters" "button"
135
    And I set the following fields in the "Full name" "core_reportbuilder > Filter" to these values:
136
      | Full name operator | Does not contain |
137
      | Full name value    | User 2           |
138
    And I click on "Apply" "button" in the "[data-region='report-filters']" "css_element"
139
    Then I should see "Filters applied"
140
    And I should see "Filters (1)" in the "#dropdownFiltersButton" "css_element"
141
    And the following should exist in the "reportbuilder-table" table:
142
      | Full name | Email address     |
143
      | User 1    | user1@example.com |
144
      | User 3    | user3@example.com |
145
    And the following should not exist in the "reportbuilder-table" table:
146
      | Full name | Email address     |
147
      | User 2    | user2@example.com |
148
    # Switching back to edit mode should not apply filters.
149
    And I click on "Switch to edit mode" "button"
150
    And I should see "user1@example.com" in the ".reportbuilder-table" "css_element"
151
    And I should see "user2@example.com" in the ".reportbuilder-table" "css_element"
152
    And I should see "user3@example.com" in the ".reportbuilder-table" "css_element"
153
 
154
  Scenario: Use report filters when previewing report that contains same condition
155
    Given the following "users" exist:
156
      | username  | firstname | lastname |
157
      | user1     | User   | 1        |
158
      | user2     | User   | 2        |
159
      | user3     | User   | 3        |
160
    And the following "core_reportbuilder > Reports" exist:
161
      | name      | source                                   | default |
162
      | My report | core_user\reportbuilder\datasource\users | 0       |
163
    And the following "core_reportbuilder > Columns" exist:
164
      | report    | uniqueidentifier  |
165
      | My report | user:fullname     |
166
      | My report | user:email        |
167
    And the following "core_reportbuilder > Condition" exists:
168
      | report           | My report  |
169
      | uniqueidentifier | user:email |
170
    And the following "core_reportbuilder > Filter" exists:
171
      | report           | My report  |
172
      | uniqueidentifier | user:email |
173
    And I am on the "My report" "reportbuilder > Editor" page logged in as "admin"
174
    And I change window size to "large"
175
    And I should see "user1@example.com" in the ".reportbuilder-table" "css_element"
176
    And I should see "user2@example.com" in the ".reportbuilder-table" "css_element"
177
    And I should see "user3@example.com" in the ".reportbuilder-table" "css_element"
178
    # Set a condition to the report.
179
    When I click on "Show/hide 'Conditions'" "button"
180
    And I set the following fields in the "Email address" "core_reportbuilder > Condition" to these values:
181
      | Email address operator | Is not equal to   |
182
      | Email address value    | user3@example.com |
183
    And I click on "Apply" "button" in the "#settingsconditions" "css_element"
184
    And I click on "Switch to preview mode" "button"
185
    And I click on "Filters" "button"
186
    And I set the following fields in the "Email address" "core_reportbuilder > Filter" to these values:
187
      | Email address operator | Is not equal to   |
188
      | Email address value    | user2@example.com |
189
    And I click on "Apply" "button" in the "[data-region='report-filters']" "css_element"
190
    Then I should see "Filters applied"
191
    And I should see "Filters (1)" in the "#dropdownFiltersButton" "css_element"
192
    # Assert we haven't overridden the condition and user3 is still not showing in the report.
193
    And the following should exist in the "reportbuilder-table" table:
194
      | Full name | Email address     |
195
      | User 1    | user1@example.com |
196
    And the following should not exist in the "reportbuilder-table" table:
197
      | Full name | Email address     |
198
      | User 2    | user2@example.com |
199
      | User 3    | user3@example.com |