Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Feature: Create an account on Studio
And I see the *Basic information* section containing the following fields: First name, Last name, Email, Password and Confirm password
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
And I see the *View Privacy Policy* and *View Terms of Service* links
When I input all the required fields
When I fill in all of the required fields
And I click the *Finish* button
Then I see the *Activation link sent* page
And I see *Thank you for creating an account! To complete the process, please check your email for the activation link we sent you.*
Expand All @@ -31,3 +31,10 @@ Feature: Create an account on Studio
And I click the *Finish* button
Then I see the *Activation link sent* page
And I see *Thank you for creating an account! To complete the process, please check your email for the activation link we sent you.*

Scenario: Attempt to create an account with an already existing email
Given I have filled in all the required fields
And I have entered an already existing email in the *Email* field
When I click the *Finish* button
Then I see the *Please fix the errors below* alert under the main heading
And I see an *An account with this email already exists* error notification under the *Email* field
73 changes: 73 additions & 0 deletions integration_testing/features/administration/admin-channels.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
Feature: Administration - Manage channels
A Kolibri Studio administrator should be able to view and manage channels related data

Background:
Given Kolibri Studio is accessible at https://studio.learningequality.org/ or any of the test environments
And I am signed in as an administrator user
And I am at *Administration > Channels*

Scenario: View the *All channels* table
When I look at the *Administration > Channels* page
Then I see the table with all of the available channels
And I see an *N channels* label with the total number of created channels
And I see a *Channel type* filter with *All channels* set as the default value
And I see a *Channel status* filter with *Live* set as the default value
And I see a *Language* filter with no selected value
And I see a *Search for a channel...* field
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
And for each row I see the correct value in the respective column
When I click on the *Actions* drop-down for a row
Then I see the following options: View editors, Download PDF, Download CSV, Make public, Delete channel

Scenario: See the *Kolibri Studio Library* table
Given I am at *Administration > Channels*
When I select the *Kolibri Studio Library* option from the *Channel type* drop-down
Then I see the table with all of the available *Kolibri Studio Library* channels
And I see an *N channels* label with the total number of created channels
And I see a *Channel status* filter with *Live* set as the default value and a *Sushi chef* option
And I see a *Language* filter with no selected value
And I see a *Search for a channel...* field
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
And for each row I see the correct value in the respective column
When I click on the *Actions* drop-down for a row
Then I see the following options: View editors, Download PDF, Download CSV, Make private

Scenario: See the *Community Library* table
Given I am at *Administration > Channels*
When I select the *Community Library* option from the *Channel type* drop-down
Then I see the table with all of the available *Community Library* channels
And I see an *N channels* label with the total number of created channels
And I see a *Channel status* filter with *Live* set as the default value and the following additional options: Needs review, Published, Sushi chef
And I see a *Language* filter with no selected value
And I see a *Search for a channel...* field
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
And for each row I see the correct value in the respective column
When I click on the *Actions* drop-down for a row
Then I see the following options: View editors, Download PDF, Download CSV, Make public, Delete channel

Scenario: See the *Unlisted channels* table
Given I am at *Administration > Channels*
When I select the *Unlisted channels* option from the *Channel type* drop-down
Then I see the table with all of the available *Unlisted channels* channels
And I see an *N channels* label with the total number of created channels
And I see a *Channel status* filter with *Live* set as the default value and the following additional options: Draft, Published, Sushi chef, Deleted
And I see a *Language* filter with no selected value
And I see a *Search for a channel...* field
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
And for each row I see the correct value in the respective column
When I click on the *Actions* drop-down for a row
Then I see the following options: View editors, Download PDF, Download CSV, Make public, Delete channel

Scenario: Filter by status and language
When I change the value of the *Channel status* drop-down to one of the available values
Then I see only results matching the applied filter e.g. if I have selected *Published* then I am seeing only published channels
When I select a value from the *Language* drop-down
Then I see only results matching the applied language filter
When there aren't any results for the applied filter or combination of filters
Then I see a *No users found* message

Scenario: Search for a channel
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
Then I am seeing only results matching the entered keyword
When there aren't any results for the entered keyword
Then I see a *No users found* message
107 changes: 107 additions & 0 deletions integration_testing/features/administration/admin-users.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
Feature: Administration - Manage users
A Kolibri Studio administrator should be able to view and manage users related data

Background:
Given Kolibri Studio is accessible at https://studio.learningequality.org/ or any of the test environments
And I am signed in as an administrator user
And I am at *Administration > Users*

Scenario: View the users table
When I look at the *Administration > Users* page
Then I see the table with all of the available users
And I see an *N users* label with the total number of registered users
And I see a *User type* filter with no selected default value
And I see a *Target location* filter with no selected default value
And I see a *Joined within* filter with *Any time* set as a default value
And I see an *Active within* filter with *Any time* set as a default value
And I see a *Search for a user...* field
And I see the *Has published a channel* and *Has Studio edits* checkboxes
And I see the following table columns: Email, Disk space, Can edit, Can view, Date joined, Last active, Actions
And for each row I see the correct value in the respective column
When I click on the *Actions* drop-down for a row
Then I see the following options: Email, Activate, Delete

Scenario: Filter by any of the available filters
When I change the value of any of the available filters
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
When there aren't any results for the applied filter or combination of filters
Then I see a *No users found* message

Scenario: Search for a user
When I enter the name or part of the name of a user, email or channel in the *Search for a user...* field
Then I am seeing only results matching the entered keyword
When there aren't any results for the entered keyword
Then I see a *No users found* message

Scenario: See the user's details
When I click on the name of the user
Then I see the user's details page with the full name of the user
And I see an *Actions* drop-down
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
And I see the *Disk space* section with the percentage of storage used and an option to increase the storage size
And I see the *Feature flags* section
And I see the *Policies accepted* section
And I see the *Editing N channels* and *Viewing N channels* sections

Scenario: Download CSV
Given I have applied at least one of the available filters
When I click on the *Download CSV* button
Then I see a *Generating CSV* snackbar message
And I see a *Save as* modal
When I chose a destination for the studio_users<date>.csv file
And I click the *Save* button
Then the .csv file is saved on my device
When I open the file
Then I see that all the information for each user is exported correctly
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

Scenario: Email users
When I click on the *Email users* button
Then I see a *Send email* modal window with an email form with prefilled *From* and *To* fields
And I see a *Subject line* field, an *Add placeholder to message* option and an *Email body* field.
When I fill in all the fields
And I click the *Send email* button
Then I see an *Email sent* snackbar message

Scenario: Add and remove admin privileges
When I click the *Actions* drop-down for a user
And I select the *Add admin privileges* option
Then I see an *Add admin privileges* confirmation modal
And I see an *Email address* field
When I fill in my email address
And I click the *Add privileges* button
Then I see an *Admin privileges added* snackbar message
And I see a green circle to the left of the user's name indicating that the user is now an administrator
When I click the *Actions* drop-down for the same user
And I select the *Remove admin privileges* option
Then I see an *Remove admin privileges* confirmation modal
And I see an *Email address* field
When I fill in my email address
And I click the *Remove privileges* button
Then I see an *Admin privilege removed* snackbar message
And the green circle is removed indicating that the user is no longer an administrator

Scenario: Deactivate a user
When I click the *Actions* drop-down for a user
And I select the *Deactivate* option
Then I see a *Deactivate user* confirmation modal
When I click the *Deactivate* button
Then I see an *User deactivated* snackbar message
And the user's details are colored in red
And I see an *Inactive* label in the *Disk space* column
When I go to the user's details page
Then I see a red banner with the following text: This user has been deactivated
When I click the *Actions* drop-down
And I click the *Activate* option
Then I see an *User activated* message
And the red banner has disappeared

Scenario: Delete a deactivated user
Given I have deactivated a user
When I go to the user's details page
And I click the *Actions* drop-down list
And I select the *Delete* option
Then I see a *Delete user* confirmation modal
When I click the *Delete* button
Then I see a *User removed* snackbar message
And the user is no longer listed in the users table
21 changes: 21 additions & 0 deletions integration_testing/features/common/browser-compatibility.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
Feature: Browser compatibility testing of all pages and resource types

Background:
Given I am signed in to Kolibri Studio
And I have created a channel with all supported resource types

Scenario: Browse through the available pages in all supported browsers
When I visit each page in the following browsers and operating systems
- Firefox/Chrome/Edge on Windows
- Firefox/Chrome on Linux
- Firefox/Chrome/Safari on Mac OS
Then I can see that each page is displayed correctly
And I can interact with all of the available options and features of each page

Scenario: View .mp3, .bloompub, .bloomd, .pdf, .epub, .h5p, html, .mp4, .webm, .kpub resources in all supported browsers
When I open one of the supported resource types in the following browsers and operating systems
- Firefox/Chrome/Edge on Windows
- Firefox/Chrome on Linux
- Firefox/Chrome/Safari on Mac OS
Then I can see that the resource is displayed correctly
And I can interact with all of the available options and features of each resource
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,15 @@ User needs to be able to open and close the sidebar menu and the user menu
Scenario: Open and close the sidebar menu
When I click the hamburger menu button in the upper left screen corner
Then I see the sidebar menu
And I can see the following options: *Channels*, *Settings*, *Change language*, *Help and support*, *Sign out*, the LE logo, *© 2025 Learning Equality", *Give feedback*
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*
And I can click any of the options inside
When I click the *X* button, or anywhere on the browser screen
Then I don't see the sidebar menu anymore

Scenario: Open and close the user menu
When I click the user menu button in the upper right screen corner
Then I see the user menu
And I can see the following options: *Settings*, *Change language*, *Help and support*, *Sign out*
And I can see the following options: *Notifications*, *Settings*, *Change language*, *Help and support*, *Sign out*
And I can click any of the options inside
When I click the user menu button again, or anywhere on the browser screen
Then I don't see the user menu anymore
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,29 @@ Feature: Get channel token after publishing the channel
Scenario: Get channel token after publishing the channel
When I click on the ellipsis button in the top right corner
And I click on the *Get token* menu option
Then I see the *Copy channel token*
And I see the channel token e.g. hufim-lolib
Then I see the *Copy channel token* modal
And I see the channel token e.g. nakav-mafak
When I click on the copy button
Then I see a *Token copied* snackbar message
When I click the *Close* button
Then the modal closes

Scenario: Copy the channel token for a draft channel
Given I have published a draft version of the channel
When I click on the ellipsis button in the top right corner
And I click on the *Copy token for a draft channel* menu option
Then I see the *Preview your draft channel in Kolibri* modal
And I see the draft channel token e.g. nakav-mafak
When I click on the copy button
Then I see a *Token copied* snackbar message
When I click the *Close* button
Then the modal closes

Scenario: Share the channel token after publishing the channel
When I click the *Share* button
And I click on the *Share token* menu option
Then I see the *Copy channel token* modal
And I see the channel token e.g. nakav-mafak
When I click on the copy button
Then I see a *Token copied* snackbar message
When I click the *Close* button
Expand Down
Original file line number Diff line number Diff line change
@@ -1,21 +1,22 @@
Feature: Share channels
A user needs to be able to invite collaborators to view or edit channels
A user needs to be able to invite collaborators to edit or view channels

Background:
Given I am signed in to Studio
And I am on the channel editor page
When I click the *...* (options) button in the topbar
And select the *Share channel* option
Then I am at the *Sharing* tab for the channel
And I am at the channel editor page

Scenario: Invite collaborators with *Can edit* permissions
When I click the *Share* button
And select the *Invite collaborators* option #alternatively I can click the *...* (options) button in the top toolbar and select the *Share channel* option
Then I am at the *Sharing* tab for the channel
When I type the email of the person I want to invite
And I leave the preselected *Can edit* option in the drop-down
And I leave the default *Can edit* option in the drop-down
And I click the *Send invitation* button
Then the collaborator will be notified on their *My Channels* page, where they can accept or reject the pending invitation
And the collaborator will receive an email allowing them to accept/reject the pending invitation

Scenario: Invite collaborators with *Can view* permissions
Given I am at the *Sharing* tab for the channel
When I type the email of the person I want to invite
And I select the *Can view* option in the drop-down
And I click the *Send invitation* button
Expand Down
Loading
Loading