mirrored from git://git.moodle.org/moodle.git
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
MDL-60874 enrol_manual: Improve searching of users in quick enrol UI
* The maximum of users to be displayed raised from 30 to 100. This is consistent with the legacy users selector available via enrolment methods page. * If there are more users found matching the search criteria, notify the user instead of displaying them. This is to prevent false impression that there are only that many users. * Added behat tests for the new behaviour.
- Loading branch information
Showing
3 changed files
with
201 additions
and
30 deletions.
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,155 @@ | ||
@enrol @enrol_manual | ||
Feature: Teacher can search and enrol users one by one into the course | ||
In order to quickly enrol particular students into my course | ||
As a teacher | ||
I can search for the students and enrol them into the course | ||
|
||
Background: | ||
Given the following "users" exist: | ||
| username | firstname | lastname | email | | ||
| teacher001 | Teacher | 001 | teacher001@example.com | | ||
| student001 | Student | 001 | student001@example.com | | ||
| student002 | Student | 002 | student002@example.com | | ||
| student003 | Student | 003 | student003@example.com | | ||
| student004 | Student | 004 | student004@example.com | | ||
| student005 | Student | 005 | student005@example.com | | ||
| student006 | Student | 006 | student006@example.com | | ||
| student007 | Student | 007 | student007@example.com | | ||
| student008 | Student | 008 | student008@example.com | | ||
| student009 | Student | 009 | student009@example.com | | ||
| student010 | Student | 010 | student010@example.com | | ||
| student011 | Student | 011 | student011@example.com | | ||
| student012 | Student | 012 | student012@example.com | | ||
| student013 | Student | 013 | student013@example.com | | ||
| student014 | Student | 014 | student014@example.com | | ||
| student015 | Student | 015 | student015@example.com | | ||
| student016 | Student | 016 | student016@example.com | | ||
| student017 | Student | 017 | student017@example.com | | ||
| student018 | Student | 018 | student018@example.com | | ||
| student019 | Student | 019 | student019@example.com | | ||
| student020 | Student | 020 | student020@example.com | | ||
| student021 | Student | 021 | student021@example.com | | ||
| student022 | Student | 022 | student022@example.com | | ||
| student023 | Student | 023 | student023@example.com | | ||
| student024 | Student | 024 | student024@example.com | | ||
| student025 | Student | 025 | student025@example.com | | ||
| student026 | Student | 026 | student026@example.com | | ||
| student027 | Student | 027 | student027@example.com | | ||
| student028 | Student | 028 | student028@example.com | | ||
| student029 | Student | 029 | student029@example.com | | ||
| student030 | Student | 030 | student030@example.com | | ||
| student031 | Student | 031 | student031@example.com | | ||
| student032 | Student | 032 | student032@example.com | | ||
| student033 | Student | 033 | student033@example.com | | ||
| student034 | Student | 034 | student034@example.com | | ||
| student035 | Student | 035 | student035@example.com | | ||
| student036 | Student | 036 | student036@example.com | | ||
| student037 | Student | 037 | student037@example.com | | ||
| student038 | Student | 038 | student038@example.com | | ||
| student039 | Student | 039 | student039@example.com | | ||
| student040 | Student | 040 | student040@example.com | | ||
| student041 | Student | 041 | student041@example.com | | ||
| student042 | Student | 042 | student042@example.com | | ||
| student043 | Student | 043 | student043@example.com | | ||
| student044 | Student | 044 | student044@example.com | | ||
| student045 | Student | 045 | student045@example.com | | ||
| student046 | Student | 046 | student046@example.com | | ||
| student047 | Student | 047 | student047@example.com | | ||
| student048 | Student | 048 | student048@example.com | | ||
| student049 | Student | 049 | student049@example.com | | ||
| student050 | Student | 050 | student050@example.com | | ||
| student051 | Student | 051 | student051@example.com | | ||
| student052 | Student | 052 | student052@example.com | | ||
| student053 | Student | 053 | student053@example.com | | ||
| student054 | Student | 054 | student054@example.com | | ||
| student055 | Student | 055 | student055@example.com | | ||
| student056 | Student | 056 | student056@example.com | | ||
| student057 | Student | 057 | student057@example.com | | ||
| student058 | Student | 058 | student058@example.com | | ||
| student059 | Student | 059 | student059@example.com | | ||
| student060 | Student | 060 | student060@example.com | | ||
| student061 | Student | 061 | student061@example.com | | ||
| student062 | Student | 062 | student062@example.com | | ||
| student063 | Student | 063 | student063@example.com | | ||
| student064 | Student | 064 | student064@example.com | | ||
| student065 | Student | 065 | student065@example.com | | ||
| student066 | Student | 066 | student066@example.com | | ||
| student067 | Student | 067 | student067@example.com | | ||
| student068 | Student | 068 | student068@example.com | | ||
| student069 | Student | 069 | student069@example.com | | ||
| student070 | Student | 070 | student070@example.com | | ||
| student071 | Student | 071 | student071@example.com | | ||
| student072 | Student | 072 | student072@example.com | | ||
| student073 | Student | 073 | student073@example.com | | ||
| student074 | Student | 074 | student074@example.com | | ||
| student075 | Student | 075 | student075@example.com | | ||
| student076 | Student | 076 | student076@example.com | | ||
| student077 | Student | 077 | student077@example.com | | ||
| student078 | Student | 078 | student078@example.com | | ||
| student079 | Student | 079 | student079@example.com | | ||
| student080 | Student | 080 | student080@example.com | | ||
| student081 | Student | 081 | student081@example.com | | ||
| student082 | Student | 082 | student082@example.com | | ||
| student083 | Student | 083 | student083@example.com | | ||
| student084 | Student | 084 | student084@example.com | | ||
| student085 | Student | 085 | student085@example.com | | ||
| student086 | Student | 086 | student086@example.com | | ||
| student087 | Student | 087 | student087@example.com | | ||
| student088 | Student | 088 | student088@example.com | | ||
| student089 | Student | 089 | student089@example.com | | ||
| student090 | Student | 090 | student090@example.com | | ||
| student091 | Student | 091 | student091@example.com | | ||
| student092 | Student | 092 | student092@example.com | | ||
| student093 | Student | 093 | student093@example.com | | ||
| student094 | Student | 094 | student094@example.com | | ||
| student095 | Student | 095 | student095@example.com | | ||
| student096 | Student | 096 | student096@example.com | | ||
| student097 | Student | 097 | student097@example.com | | ||
| student098 | Student | 098 | student098@example.com | | ||
| student099 | Student | 099 | student099@example.com | | ||
And the following "courses" exist: | ||
| fullname | shortname | | ||
| Course 001 | C001 | | ||
And the following "course enrolments" exist: | ||
| user | course | role | | ||
| teacher001 | C001 | editingteacher | | ||
And I log in as "teacher001" | ||
And I am on "Course 001" course homepage | ||
|
||
@javascript | ||
Scenario: Teacher can search and enrol one particular student | ||
Given I navigate to course participants | ||
And I press "Enrol users" | ||
When I set the field "Select users" to "student001" | ||
And I should see "Student 001" | ||
And I click on "Enrol users" "button" in the "Enrol users" "dialogue" | ||
Then I should see "Active" in the "Student 001" "table_row" | ||
|
||
@javascript | ||
Scenario: Searching for a non-existing user | ||
Given I navigate to course participants | ||
And I press "Enrol users" | ||
And I set the field "Select users" to "qwertyuiop" | ||
And I click on ".form-autocomplete-downarrow" "css_element" in the "Select users" "form_row" | ||
Then I should see "No suggestions" | ||
|
||
@javascript | ||
Scenario: If there are less than 100 matching users, all are displayed for selection | ||
Given I navigate to course participants | ||
And I press "Enrol users" | ||
When I set the field "Select users" to "example.com" | ||
And I click on ".form-autocomplete-downarrow" "css_element" in the "Select users" "form_row" | ||
And I click on "Student 099" item in the autocomplete list | ||
Then I should see "Student 099" | ||
|
||
@javascript | ||
Scenario: If there are more than 100 matching users, inform there are too many. | ||
Given the following "users" exist: | ||
| username | firstname | lastname | email | | ||
| student100 | Student | 100 | student100@example.com | | ||
| student101 | Student | 101 | student101@example.com | | ||
And I navigate to course participants | ||
And I press "Enrol users" | ||
When I set the field "Select users" to "example.com" | ||
And I click on ".form-autocomplete-downarrow" "css_element" in the "Select users" "form_row" | ||
Then I should see "Too many users (>100) to show" |