Skip to content

Commit 5e86bbb

Browse files
authored
Merge pull request learningequality#5991 from pcenov/gherkins-june-23
WIP: Gherkin scenarios updates
2 parents 99c9787 + 6c45d72 commit 5e86bbb

10 files changed

Lines changed: 1073 additions & 28 deletions

integration_testing/features/access-kolibri-studio/create-account.feature

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Feature: Create an account on Studio
1111
And I see the *Basic information* section containing the following fields: First name, Last name, Email, Password and Confirm password
1212
And I see the *How do you plan on using Kolibri Studio (check all that apply)*, *Where do you plan to use Kolibri Studio? (check all that apply)*, *How did you hear about us?* and *I have read and agree to terms of service and the privacy policy* sections
1313
And I see the *View Privacy Policy* and *View Terms of Service* links
14-
When I input all the required fields
14+
When I fill in all of the required fields
1515
And I click the *Finish* button
1616
Then I see the *Activation link sent* page
1717
And I see *Thank you for creating an account! To complete the process, please check your email for the activation link we sent you.*
@@ -31,3 +31,10 @@ Feature: Create an account on Studio
3131
And I click the *Finish* button
3232
Then I see the *Activation link sent* page
3333
And I see *Thank you for creating an account! To complete the process, please check your email for the activation link we sent you.*
34+
35+
Scenario: Attempt to create an account with an already existing email
36+
Given I have filled in all the required fields
37+
And I have entered an already existing email in the *Email* field
38+
When I click the *Finish* button
39+
Then I see the *Please fix the errors below* alert under the main heading
40+
And I see an *An account with this email already exists* error notification under the *Email* field
Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
Feature: Administration - Manage channels
2+
A Kolibri Studio administrator should be able to view and manage channels related data
3+
4+
Background:
5+
Given Kolibri Studio is accessible at https://studio.learningequality.org/ or any of the test environments
6+
And I am signed in as an administrator user
7+
And I am at *Administration > Channels*
8+
9+
Scenario: View the *All channels* table
10+
When I look at the *Administration > Channels* page
11+
Then I see the table with all of the available channels
12+
And I see an *N channels* label with the total number of created channels
13+
And I see a *Channel type* filter with *All channels* set as the default value
14+
And I see a *Channel status* filter with *Live* set as the default value
15+
And I see a *Language* filter with no selected value
16+
And I see a *Search for a channel...* field
17+
And I see the following table columns: Channel name, Token ID, Channel ID, Size, Editors, Viewers, Date created, Last updated, Demo URL, Source URL, Latest community library submission, Actions
18+
And for each row I see the correct value in the respective column
19+
When I click on the *Actions* drop-down for a row
20+
Then I see the following options: View editors, Download PDF, Download CSV, Make public, Delete channel
21+
22+
Scenario: See the *Kolibri Studio Library* table
23+
Given I am at *Administration > Channels*
24+
When I select the *Kolibri Studio Library* option from the *Channel type* drop-down
25+
Then I see the table with all of the available *Kolibri Studio Library* channels
26+
And I see an *N channels* label with the total number of created channels
27+
And I see a *Channel status* filter with *Live* set as the default value and a *Sushi chef* option
28+
And I see a *Language* filter with no selected value
29+
And I see a *Search for a channel...* field
30+
And I see the following table columns: Channel name, Token ID, Channel ID, Size, Editors, Viewers, Date created, Last updated, Demo URL, Source URL, Latest community library submission, Actions
31+
And for each row I see the correct value in the respective column
32+
When I click on the *Actions* drop-down for a row
33+
Then I see the following options: View editors, Download PDF, Download CSV, Make private
34+
35+
Scenario: See the *Community Library* table
36+
Given I am at *Administration > Channels*
37+
When I select the *Community Library* option from the *Channel type* drop-down
38+
Then I see the table with all of the available *Community Library* channels
39+
And I see an *N channels* label with the total number of created channels
40+
And I see a *Channel status* filter with *Live* set as the default value and the following additional options: Needs review, Published, Sushi chef
41+
And I see a *Language* filter with no selected value
42+
And I see a *Search for a channel...* field
43+
And I see the following table columns: Channel name, Token ID, Channel ID, Size, Editors, Viewers, Date created, Last updated, Demo URL, Source URL, Latest community library submission, Actions
44+
And for each row I see the correct value in the respective column
45+
When I click on the *Actions* drop-down for a row
46+
Then I see the following options: View editors, Download PDF, Download CSV, Make public, Delete channel
47+
48+
Scenario: See the *Unlisted channels* table
49+
Given I am at *Administration > Channels*
50+
When I select the *Unlisted channels* option from the *Channel type* drop-down
51+
Then I see the table with all of the available *Unlisted channels* channels
52+
And I see an *N channels* label with the total number of created channels
53+
And I see a *Channel status* filter with *Live* set as the default value and the following additional options: Draft, Published, Sushi chef, Deleted
54+
And I see a *Language* filter with no selected value
55+
And I see a *Search for a channel...* field
56+
And I see the following table columns: Channel name, Token ID, Channel ID, Size, Editors, Viewers, Date created, Last updated, Demo URL, Source URL, Latest community library submission, Actions
57+
And for each row I see the correct value in the respective column
58+
When I click on the *Actions* drop-down for a row
59+
Then I see the following options: View editors, Download PDF, Download CSV, Make public, Delete channel
60+
61+
Scenario: Filter by status and language
62+
When I change the value of the *Channel status* drop-down to one of the available values
63+
Then I see only results matching the applied filter e.g. if I have selected *Published* then I am seeing only published channels
64+
When I select a value from the *Language* drop-down
65+
Then I see only results matching the applied language filter
66+
When there aren't any results for the applied filter or combination of filters
67+
Then I see a *No users found* message
68+
69+
Scenario: Search for a channel
70+
When I enter the name or part of the name of a channel, token, channel id or editor in the *Search for a channel...* field
71+
Then I am seeing only results matching the entered keyword
72+
When there aren't any results for the entered keyword
73+
Then I see a *No users found* message
74+
75+
Scenario: View the channel details page
76+
When I click on the name of a channel
77+
Then I see the channel details page
78+
And I am at the *Channel info* tab
79+
And I can see all of the available channel metadata such as token, version, language etc.
80+
81+
Scenario: View the channel editors
82+
When I click the *Actions* drop-down
83+
And I select the *View editors* option
84+
Then I see the *Users* table
85+
And I can see that a search has been initiated for the specified channel
86+
And I can see all of the channel editors
87+
88+
Scenario: Download the PDF and CSV for a channel
89+
When I click the *Actions* drop-down
90+
And I select the *Download PDF* option
91+
Then I see the *Generating PDF* snackbar message
92+
And I can download the generated .pdf file on my device and view it
93+
When I click the *Actions* drop-down
94+
And I select the *Download CSV* option
95+
Then I see the *Generating CSV* snackbar message
96+
And I can download the generated .csv file on my device and view it
97+
98+
Scenario: Make a channel public
99+
When I click the *Actions* drop-down
100+
And I select the *Make public* option
101+
Then I see the *Make channel public* modal
102+
When I click the *Make public* button
103+
Then I see a *Channel changed to public* snackbar message
104+
And I see a green circle icon in front of the channel name indicating that the channel is public
105+
106+
Scenario: Make a channel private
107+
Given I have made a channel public
108+
When I click the *Actions* drop-down
109+
And I select the *Make private* option
110+
Then I see the *Make channel private* modal
111+
When I click the *Make private* button
112+
Then I see a *Channel changed to private* snackbar message
113+
And I no longer see a green circle icon in front of the channel name indicating that the channel is now private
114+
115+
Scenario: Delete a channel
116+
When I click the *Actions* drop-down
117+
And I select the *Delete channel* option
118+
Then I see a *Delete channel* confirmation modal
119+
When I click the *Delete* button
120+
Then I see a *Channel deleted* snackbar message
121+
And the channel's details are colored in red
122+
And I see a *Deleted* label in the *Token ID* column
123+
When I go to the channel's details page
124+
Then I see a red banner with the following text: This channel has been deleted
125+
When I click the *Actions* drop-down
126+
Then I see the following options: Restore, Delete permanently
127+
128+
Scenario: Restore a deleted channel
129+
Given I have deleted a channel
130+
When I click the *Actions* drop-down for the deleted channel
131+
And I select the *Restore* option
132+
Then I see the *Restore channel* confirmation modal
133+
When I click the *Restore* button
134+
Then I see a *Channel restored* snackbar message
135+
And I can see that the channel is fully restored
136+
137+
Scenario: Permanently delete a deleted channel
138+
Given I have deleted a channel
139+
When I click the *Actions* drop-down for the deleted channel
140+
And I select the *Delete permanently* option
141+
Then I see the *Permanently delete channel* confirmation modal
142+
When I click the *Delete permanently* button
143+
Then I see a *Channel deleted permanently* snackbar message
144+
And I can see that the channel is no longer listed in the *All channels* table
Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
Feature: Administration - Manage users
2+
A Kolibri Studio administrator should be able to view and manage users related data
3+
4+
Background:
5+
Given Kolibri Studio is accessible at https://studio.learningequality.org/ or any of the test environments
6+
And I am signed in as an administrator user
7+
And I am at *Administration > Users*
8+
9+
Scenario: View the users table
10+
When I look at the *Administration > Users* page
11+
Then I see the table with all of the available users
12+
And I see an *N users* label with the total number of registered users
13+
And I see a *User type* filter with no selected default value
14+
And I see a *Target location* filter with no selected default value
15+
And I see a *Joined within* filter with *Any time* set as a default value
16+
And I see an *Active within* filter with *Any time* set as a default value
17+
And I see a *Search for a user...* field
18+
And I see the *Has published a channel* and *Has Studio edits* checkboxes
19+
And I see the following table columns: Email, Disk space, Can edit, Can view, Date joined, Last active, Actions
20+
And for each row I see the correct value in the respective column
21+
When I click on the *Actions* drop-down for a row
22+
Then I see the following options: Email, Activate, Delete
23+
24+
Scenario: Filter by any of the available filters
25+
When I change the value of any of the available filters
26+
Then I see only results matching the applied filter e.g. if I have selected *Active* from the *User type* filter then I am seeing only published channels
27+
When there aren't any results for the applied filter or combination of filters
28+
Then I see a *No users found* message
29+
30+
Scenario: Search for a user
31+
When I enter the name or part of the name of a user, email or channel in the *Search for a user...* field
32+
Then I am seeing only results matching the entered keyword
33+
When there aren't any results for the entered keyword
34+
Then I see a *No users found* message
35+
36+
Scenario: See the user's details
37+
When I click on the name of the user
38+
Then I see the user's details page with the full name of the user
39+
And I see an *Actions* drop-down
40+
And I see the *Basic information* section with the following fields: Privileges, Email, Where do you plan to use Kolibri?, How did you hear about us?, How do you plan to use Kolibri Studio?, Signed up on, Last active
41+
And I see the *Disk space* section with the percentage of storage used and an option to increase the storage size
42+
And I see the *Feature flags* section
43+
And I see the *Policies accepted* section
44+
And I see the *Editing N channels* and *Viewing N channels* sections
45+
46+
Scenario: Download CSV
47+
Given I have applied at least one of the available filters
48+
When I click on the *Download CSV* button
49+
Then I see a *Generating CSV* snackbar message
50+
And I see a *Save as* modal
51+
When I chose a destination for the studio_users<date>.csv file
52+
And I click the *Save* button
53+
Then the .csv file is saved on my device
54+
When I open the file
55+
Then I see that all the information for each user is exported correctly
56+
And I see the following columns: First name, Last name, Email, Is active, Is admin, Date joined, Last active, Disk space (bytes), Disk space used (bytes), Has editable channels, Has viewable channels, Has published a channel, Most recent publish date, Has Studio edits, Locations (country names), Primary location, Location count, Storage needed, Heard from
57+
58+
Scenario: Email users
59+
When I click on the *Email users* button
60+
Then I see a *Send email* modal window with an email form with prefilled *From* and *To* fields
61+
And I see a *Subject line* field, an *Add placeholder to message* option and an *Email body* field.
62+
When I fill in all the fields
63+
And I click the *Send email* button
64+
Then I see an *Email sent* snackbar message
65+
66+
Scenario: Add and remove admin privileges
67+
When I click the *Actions* drop-down for a user
68+
And I select the *Add admin privileges* option
69+
Then I see an *Add admin privileges* confirmation modal
70+
And I see an *Email address* field
71+
When I fill in my email address
72+
And I click the *Add privileges* button
73+
Then I see an *Admin privileges added* snackbar message
74+
And I see a green circle to the left of the user's name indicating that the user is now an administrator
75+
When I click the *Actions* drop-down for the same user
76+
And I select the *Remove admin privileges* option
77+
Then I see an *Remove admin privileges* confirmation modal
78+
And I see an *Email address* field
79+
When I fill in my email address
80+
And I click the *Remove privileges* button
81+
Then I see an *Admin privilege removed* snackbar message
82+
And the green circle is removed indicating that the user is no longer an administrator
83+
84+
Scenario: Deactivate a user
85+
When I click the *Actions* drop-down for a user
86+
And I select the *Deactivate* option
87+
Then I see a *Deactivate user* confirmation modal
88+
When I click the *Deactivate* button
89+
Then I see an *User deactivated* snackbar message
90+
And the user's details are colored in red
91+
And I see an *Inactive* label in the *Disk space* column
92+
When I go to the user's details page
93+
Then I see a red banner with the following text: This user has been deactivated
94+
When I click the *Actions* drop-down
95+
And I click the *Activate* option
96+
Then I see an *User activated* message
97+
And the red banner has disappeared
98+
99+
Scenario: Delete a deactivated user
100+
Given I have deactivated a user
101+
When I go to the user's details page
102+
And I click the *Actions* drop-down list
103+
And I select the *Delete* option
104+
Then I see a *Delete user* confirmation modal
105+
When I click the *Delete* button
106+
Then I see a *User removed* snackbar message
107+
And the user is no longer listed in the users table
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
Feature: Browser compatibility testing of all pages and resource types
2+
3+
Background:
4+
Given I am signed in to Kolibri Studio
5+
And I have created a channel with all supported resource types
6+
7+
Scenario: Browse through the available pages in all supported browsers
8+
When I visit each page in the following browsers and operating systems
9+
- Firefox/Chrome/Edge on Windows
10+
- Firefox/Chrome on Linux
11+
- Firefox/Chrome/Safari on Mac OS
12+
Then I can see that each page is displayed correctly
13+
And I can interact with all of the available options and features of each page
14+
15+
Scenario: View .mp3, .bloompub, .bloomd, .pdf, .epub, .h5p, html, .mp4, .webm, .kpub resources in all supported browsers
16+
When I open one of the supported resource types in the following browsers and operating systems
17+
- Firefox/Chrome/Edge on Windows
18+
- Firefox/Chrome on Linux
19+
- Firefox/Chrome/Safari on Mac OS
20+
Then I can see that the resource is displayed correctly
21+
And I can interact with all of the available options and features of each resource

integration_testing/features/common/open-sidebar-and-user-menus.feature

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,15 @@ User needs to be able to open and close the sidebar menu and the user menu
77
Scenario: Open and close the sidebar menu
88
When I click the hamburger menu button in the upper left screen corner
99
Then I see the sidebar menu
10-
And I can see the following options: *Channels*, *Settings*, *Change language*, *Help and support*, *Sign out*, the LE logo, *© 2025 Learning Equality", *Give feedback*
10+
And I can see the following options: *Notifications*, *Channels*, *Settings*, *Change language*, *Help and support*, *Sign out*, the LE logo, *© 2026 Learning Equality", *Give feedback*
1111
And I can click any of the options inside
1212
When I click the *X* button, or anywhere on the browser screen
1313
Then I don't see the sidebar menu anymore
1414
1515
Scenario: Open and close the user menu
1616
When I click the user menu button in the upper right screen corner
1717
Then I see the user menu
18-
And I can see the following options: *Settings*, *Change language*, *Help and support*, *Sign out*
18+
And I can see the following options: *Notifications*, *Settings*, *Change language*, *Help and support*, *Sign out*
1919
And I can click any of the options inside
2020
When I click the user menu button again, or anywhere on the browser screen
2121
Then I don't see the user menu anymore

integration_testing/features/manage-channels/get-channel-token-after-publishing.feature

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,29 @@ Feature: Get channel token after publishing the channel
88
Scenario: Get channel token after publishing the channel
99
When I click on the ellipsis button in the top right corner
1010
And I click on the *Get token* menu option
11-
Then I see the *Copy channel token*
12-
And I see the channel token e.g. hufim-lolib
11+
Then I see the *Copy channel token* modal
12+
And I see the channel token e.g. nakav-mafak
13+
When I click on the copy button
14+
Then I see a *Token copied* snackbar message
15+
When I click the *Close* button
16+
Then the modal closes
17+
18+
Scenario: Copy the channel token for a draft channel
19+
Given I have published a draft version of the channel
20+
When I click on the ellipsis button in the top right corner
21+
And I click on the *Copy token for a draft channel* menu option
22+
Then I see the *Preview your draft channel in Kolibri* modal
23+
And I see the draft channel token e.g. nakav-mafak
24+
When I click on the copy button
25+
Then I see a *Token copied* snackbar message
26+
When I click the *Close* button
27+
Then the modal closes
28+
29+
Scenario: Share the channel token after publishing the channel
30+
When I click the *Share* button
31+
And I click on the *Share token* menu option
32+
Then I see the *Copy channel token* modal
33+
And I see the channel token e.g. nakav-mafak
1334
When I click on the copy button
1435
Then I see a *Token copied* snackbar message
1536
When I click the *Close* button

0 commit comments

Comments
 (0)