From 1d7a6bcccf8fa8fb6c6ff2b52eb5d77e89d20850 Mon Sep 17 00:00:00 2001
From: Peter Cenov
Date: Fri, 7 Feb 2025 17:53:28 +0200
Subject: [PATCH 01/12] adding a new cw feature file
---
.../studio-critical-workflows.feature | 198 ++++++++++++++++++
1 file changed, 198 insertions(+)
create mode 100644 integration_testing/features/studio-critical-workflows.feature
diff --git a/integration_testing/features/studio-critical-workflows.feature b/integration_testing/features/studio-critical-workflows.feature
new file mode 100644
index 0000000000..cea3bdf33b
--- /dev/null
+++ b/integration_testing/features/studio-critical-workflows.feature
@@ -0,0 +1,198 @@
+Feature: Studio critical workflows
+ This is a test suite of the main Studio workflows.
+
+ Background:
+ Given Studio is accessible at https://studio.learningequality.org/ or any of the test environments
+ And I am at Studio's sign-in page
+
+ Scenario: Create an account and sign in with the created account
+ When I click the *Create an account* button
+ Then I see the *Create an account* form
+ 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
+ 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.*
+ When I open the received email and click the activation link
+ Then I see the *Account successfully created* page
+ When I click the *Continue to sign-in page* button
+ Then I am at the sign-in page
+ When I fill in my email and password
+ And I click the *Sign in* button
+ Then I am able to sign in successfully
+ And I am at *My channels* page
+
+ Scenario: Reset my password
+ Given I've requested and received an email with a link to reset my password
+ When I click the link in the email
+ Then I see a page with a *Reset your password* form
+ And I fill in the *New password* field
+ And I fill in the *Confirm password* field with the same password
+ And I press the *Submit* button
+ Then I see the following message: Password reset successfully
+
+ Scenario: Explore without an account
+ Given I am not signed in to Studio
+ And I am on Studio sign-in page
+ When I click the *Explore without an account* link
+ Then I see the *Content Library* page with available public channels
+ And I can filter the search results
+ And I can view or download the channel summary
+
+ Scenario: Change the language when you are not signed-in
+ Given I am not signed-in to Studio
+ And I am on the Studio home page
+ When I click on one of the available languages
+ Then the language interface changes to the selected language
+ And the selected language is no longer clickable
+
+ Scenario: Change the language as a signed-in user
+ Given I am signed-in to Studio
+ And I click the user profile icon
+ When I click *Change language*
+ Then I see a *Change language* modal window displayed with several languages to choose from
+ When I click on a language which is not currently selected
+ And I click the *Confirm* button
+ Then the interface language changes to the selected language
+
+ Scenario: Create a new channel
+ Given I am signed in to Studio
+ And I am at *My Channels* tab
+ When I click the *New channel* button
+ Then I see the *New channel* page
+ When I enter a channel name
+ And I enter channel description
+ And I select a language
+ And I upload an image file as a channel thumbnail
+ And I click the *Create* button
+ Then I see the newly created channel at *My Channels* page
+
+ Scenario: Edit channel details
+ Given I am signed in to Studio
+ And I am on the channel editor view
+ When I click the pencil icon next to the channel name
+ Then I see a modal window with the channel details
+ And I see the details for the channel - channel name, language, channel description etc.
+ When I modify any of the details
+ And I click the *Save changes* button
+ Then I see a message: *Changes saved*
+ And I can close the modal window
+
+ Scenario: Create a new folder
+ Given I am signed in to Studio
+ And I am on the channel editor page
+ When I click the *Add* button in the top right corner
+ And I click the *New folder* option
+ Then I see the *New folder* modal
+ When I fill in the required field *Title*
+ And I fill in any of the other fields such as *Description*, *Tags* and *Language*
+ And I add a thumbnail image
+ And I click the *Finish* button
+ Then I am on the channel editor page
+ And I can see the newly created folder
+
+ Scenario: Upload files
+ When I click the *Add* button
+ And I select the *Upload files* option
+ Then I see the *Upload files* modal
+ And I see the *Total storage used* indicator at the top
+ And I can see which are the supported file types: mp3, bloompub, bloomd, pdf, epub, h5p, mp4, webm, zip
+ When I click the *Select files* button
+ Then I see a file explorer window
+ And I can select one or several supported files for upload
+ When I click the *Open* button
+ Then I see the *Edit files* modal
+ When I fill in all the required fields
+ And I click the *Finish* button
+ Then I am back at the main topic tree view
+ And I can see the uploaded files
+
+ Scenario: Create an exercise
+ When I click the *Add* button
+ And I select the *New exercise* option
+ Then I see the *Details* tab of the *New exercise* modal
+ When I fill in all of the required fields
+ And I click the *Questions* tab
+ Then I see the text: *Exercise has no questions*
+ And I see a *New question* button
+ When I click the *New question* button
+ Then I see the question editor
+ When I add one or several questions of the desired type
+ And I click the *Finish* button
+ Then I am back at the main topic tree view
+ And I can see the newly added exercise
+
+ Scenario: Import content from another channel
+ When I click the *Add* button
+ And I select the *Import from channels* option
+ Then I see the *Import from other channels* modal
+ And I see a list of channels that I have access to
+ When I click on a channel card
+ Then I see the available folders and resources
+ When I select some content
+ And I click the *Review* button
+ Then I see the *Review selections* table
+ And I see the number of selected resources at the bottom left
+ When I finish reviewing my selections
+ And I click the *Import* button
+ Then I am back at the main topic tree view
+ And I see the *Copying* indicator for each folder or resource which is being copied
+
+ Scenario: Publish a channel
+ Given I am signed in to Studio
+ And I am at the channel editor page
+ And I have write access to the channel
+ And the channel has had modifications
+ When I click the *Publish* button at the top right corner
+ Then the *Publish modal* appears
+ And I see steps for resolving errors and describing new changes
+ When I click *Publish*
+ Then I see the *Describe what's new in this channel version* modal
+ When I fill in the required fields
+ And I click *Publish*
+ Then I see the *Publishing channel* progress indicator at the top right
+ When the the channel has been published successfully
+ Then I see the *Published N seconds ago* text
+ And I receive a confirmation email that the channel has been published successfully
+
+ Scenario: Invite collaborators with *Can edit* permissions
+ 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
+ When I type the email of the person I want to invite
+ And I don't change the preselected *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: Sync resources
+ Given I am signed in to Studio
+ And I am on the channel editor page for
+ And there is a resource in the that has been imported from
+ And there is new version of the resource file in the
+ When I click on the *···* button in the top-right corner
+ And I select the *Sync resources* option
+ Then I see *Sync resources* modal window
+ When I select any of the available checkboxes
+ And I click the *Continue* button
+ Then I see the *Confirm sync* modal
+ When I click *Sync*
+ Then the modal closes
+ When I refresh the page
+ And click on the updated resource
+ Then I can see that it's updated with any changes made to the original resource file
+
+ Scenario: Delete a channel
+ Given I am signed in to Studio
+ And I have permissions to edit
+ And I am on *My Channels* tab
+ When I click the *Options* button of a channel #the three dots to the right
+ Then I see a *Delete channel* option
+ When I click the *Delete channel* option
+ And I click the *Delete channel* button
+ Then I see a message that the channel is deleted
+ And the deleted channel is no longer displayed at *My Channels* page
\ No newline at end of file
From 0b1373b8a621b50d7c0d6c5abff5c3f98ba384e1 Mon Sep 17 00:00:00 2001
From: Peter Cenov
Date: Mon, 10 Feb 2025 18:09:05 +0200
Subject: [PATCH 02/12] additional scenarios
---
.../studio-critical-workflows.feature | 65 ++++++++++++++++++-
1 file changed, 64 insertions(+), 1 deletion(-)
diff --git a/integration_testing/features/studio-critical-workflows.feature b/integration_testing/features/studio-critical-workflows.feature
index cea3bdf33b..4ebc438cda 100644
--- a/integration_testing/features/studio-critical-workflows.feature
+++ b/integration_testing/features/studio-critical-workflows.feature
@@ -186,6 +186,24 @@ Feature: Studio critical workflows
And click on the updated resource
Then I can see that it's updated with any changes made to the original resource file
+ Scenario: Quick edit the fields of multiple resources
+ Given I am signed in to Studio
+ And I am at the channel editor page
+ And there are available resources of different types
+ When I select at least two resources
+ And I click the *Edit language* icon
+ Then I see the *Edit language* modal
+ When I select a new language
+ And I click the *Save* button
+ Then I am back at the page with the resources
+ And I see a message: *Changes saved*
+ When I click on any of the other available editing icons such as *Edit categories* or *Edit levels*
+ Then I also see a modal with options
+ When I select one or several options
+ And I click the *Save* button
+ Then I am back at the page with the resources
+ And I see a message: *Changes saved*
+
Scenario: Delete a channel
Given I am signed in to Studio
And I have permissions to edit
@@ -195,4 +213,49 @@ Feature: Studio critical workflows
When I click the *Delete channel* option
And I click the *Delete channel* button
Then I see a message that the channel is deleted
- And the deleted channel is no longer displayed at *My Channels* page
\ No newline at end of file
+ And the deleted channel is no longer displayed at *My Channels* page
+
+ Feature: View and edit account information
+ Given I am signed in to Studio
+ When I go to the *Settings > Account* page
+ Then I can see the following sections with account information: *Basic information*, *API token*, *Export account data*, *Delete account*
+ When I click on the *Change password* hyperlink
+ And I make changes to my password
+ And I press *Save changes* button in the modal
+ Then I see a snackbar appears to confirm my password was updated
+ And the modal is dismissed
+ When I click the *Edit* hyperlink near my username
+ And I make changes to my full name
+ And I click *Save changes* button in the modal
+ Then I see a snackbar appears to confirm changes are saved
+ And the modal is dismissed
+ When I go to *Settings > Account>Storage*
+ Then I can see the percentage of storage used
+ And I can see the size of each resource types
+ And I can see the *Request more space* section
+
+ Scenario: Create a collection by selecting channels
+ Given I am signed in to Studio
+ And I am on the *Collections* tab
+ When I type a collection name in the *Collection name* field
+ And I click the *New collection* button
+ And I click the *Select channels* button
+ Then I see the *Select channels* page
+ And I am on the *Content library* tab # alternatively I can select the *My channels* or *View-only* tab
+ When I select one or several channels
+ And I click the *Finish* button
+ Then I see the the *New collection* screen with the selected channels
+ When I click the *Create* button
+ Then I see the *Collections* tab
+ And I see the newly created collection
+ And I see the number of channels in that collection
+
+ Scenario: Explore the content library
+ Given I am signed in to Studio
+ When I go to the *Content library*
+ Then I see a page with the available public channels
+ And I can filter the search results by keyword, language, license, format, starred status, resources for coaches, captions or subtitles
+ And I can view or download the channel summary
+ When I click on a channel card
+ Then I can see all of the channel's resources in *View-only* format
+
From 4f27aa3c885b980dc901b105338541173dc8dee4 Mon Sep 17 00:00:00 2001
From: Peter Cenov
Date: Wed, 30 Apr 2025 17:04:58 +0300
Subject: [PATCH 03/12] corrections and additions
---
.../open-sidebar-and-user-menus.feature | 9 +-
.../manage-channels/create-a-channel.feature | 19 ++-
.../studio-critical-workflows.feature | 145 +++++++++++++-----
3 files changed, 122 insertions(+), 51 deletions(-)
diff --git a/integration_testing/features/common/open-sidebar-and-user-menus.feature b/integration_testing/features/common/open-sidebar-and-user-menus.feature
index f52112570f..539c6194db 100755
--- a/integration_testing/features/common/open-sidebar-and-user-menus.feature
+++ b/integration_testing/features/common/open-sidebar-and-user-menus.feature
@@ -3,18 +3,19 @@ User needs to be able to open and close the sidebar menu and the user menu
Background:
Given I am signed in to Studio
- And I am on any of the tabs (*My Channels*, *Starred*, *View only*, *Content Library*, or *Collections*)
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 select any of the options inside
+ 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 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 select any of the options inside
+ And I can see the following options: *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
+ Then I don't see the user menu anymore
diff --git a/integration_testing/features/manage-channels/create-a-channel.feature b/integration_testing/features/manage-channels/create-a-channel.feature
index 5e4b357fd0..e117f3012a 100755
--- a/integration_testing/features/manage-channels/create-a-channel.feature
+++ b/integration_testing/features/manage-channels/create-a-channel.feature
@@ -4,16 +4,15 @@ Feature: Create a channel
Given I am signed in to Studio
And I am on the *My Channels* tab
- Scenario: Create a channel
+ Scenario: Create a new channel
+ Given I am signed in to Studio
+ And I am at *My Channels* tab
When I click the *New channel* button
Then I see the *New channel* page
- When I enter channel name
- And I enter channel description
- And I select a language
- And I upload the image file as a channel thumbnail
+ When I enter a channel name
+ And I select a language
+ And I enter channel description (optional)
+ And I fill in the default copyright fields (optional)
+ And I upload an image file as a channel thumbnail (optional)
And I click the *Create* button
- Then I see the channel on *My Channels* list
-
- Examples:
- | channel_name | channel_description | language |
- | ck-12 | sample channel | english |
+ Then I am at the channel editor view
diff --git a/integration_testing/features/studio-critical-workflows.feature b/integration_testing/features/studio-critical-workflows.feature
index 4ebc438cda..9c05a2eb88 100644
--- a/integration_testing/features/studio-critical-workflows.feature
+++ b/integration_testing/features/studio-critical-workflows.feature
@@ -6,23 +6,23 @@ Feature: Studio critical workflows
And I am at Studio's sign-in page
Scenario: Create an account and sign in with the created account
- When I click the *Create an account* button
- Then I see the *Create an account* form
- 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
- 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.*
- When I open the received email and click the activation link
- Then I see the *Account successfully created* page
- When I click the *Continue to sign-in page* button
- Then I am at the sign-in page
- When I fill in my email and password
- And I click the *Sign in* button
- Then I am able to sign in successfully
- And I am at *My channels* page
+ When I click the *Create an account* button
+ Then I see the *Create an account* form
+ 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
+ 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.*
+ When I open the received email and click the activation link
+ Then I see the *Account successfully created* page
+ When I click the *Continue to sign-in page* button
+ Then I am at the sign-in page
+ When I fill in my email and password
+ And I click the *Sign in* button
+ Then I am able to sign in successfully
+ And I am at *My channels* page
Scenario: Reset my password
Given I've requested and received an email with a link to reset my password
@@ -38,7 +38,7 @@ Feature: Studio critical workflows
And I am on Studio sign-in page
When I click the *Explore without an account* link
Then I see the *Content Library* page with available public channels
- And I can filter the search results
+ And I can filter the search results by keyword, language, license, format, resources for coach, available captions and subtitles
And I can view or download the channel summary
Scenario: Change the language when you are not signed-in
@@ -57,21 +57,38 @@ Feature: Studio critical workflows
And I click the *Confirm* button
Then the interface language changes to the selected language
+ 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 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 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
+
Scenario: Create a new channel
Given I am signed in to Studio
And I am at *My Channels* tab
When I click the *New channel* button
Then I see the *New channel* page
When I enter a channel name
- And I enter channel description
And I select a language
- And I upload an image file as a channel thumbnail
+ And I enter channel description (optional)
+ And I fill in the default copyright fields (optional)
+ And I upload an image file as a channel thumbnail (optional)
And I click the *Create* button
- Then I see the newly created channel at *My Channels* page
+ Then I am at the channel editor view
Scenario: Edit channel details
Given I am signed in to Studio
- And I am on the channel editor view
+ And I am at the channel editor view
When I click the pencil icon next to the channel name
Then I see a modal window with the channel details
And I see the details for the channel - channel name, language, channel description etc.
@@ -82,23 +99,23 @@ Feature: Studio critical workflows
Scenario: Create a new folder
Given I am signed in to Studio
- And I am on the channel editor page
- When I click the *Add* button in the top right corner
+ And I am at the channel editor page
+ When I click the *Add* button at the top right corner
And I click the *New folder* option
Then I see the *New folder* modal
When I fill in the required field *Title*
- And I fill in any of the other fields such as *Description*, *Tags* and *Language*
- And I add a thumbnail image
+ And I fill in any of the other optional fields
+ And I add a thumbnail image (optional)
And I click the *Finish* button
Then I am on the channel editor page
And I can see the newly created folder
- Scenario: Upload files
+ Scenario: Upload all supported files
When I click the *Add* button
And I select the *Upload files* option
Then I see the *Upload files* modal
And I see the *Total storage used* indicator at the top
- And I can see which are the supported file types: mp3, bloompub, bloomd, pdf, epub, h5p, mp4, webm, zip
+ And I can see which are the supported file types: mp3, bloompub, bloomd, pdf, epub, h5p, mp4, webm, zip, kpub
When I click the *Select files* button
Then I see a file explorer window
And I can select one or several supported files for upload
@@ -144,12 +161,10 @@ Feature: Studio critical workflows
Given I am signed in to Studio
And I am at the channel editor page
And I have write access to the channel
- And the channel has had modifications
+ And the channel contains unpublished resources or edits
When I click the *Publish* button at the top right corner
Then the *Publish modal* appears
- And I see steps for resolving errors and describing new changes
- When I click *Publish*
- Then I see the *Describe what's new in this channel version* modal
+ And I see the *Describe what's new in this channel version* field and the *Language* drop-down
When I fill in the required fields
And I click *Publish*
Then I see the *Publishing channel* progress indicator at the top right
@@ -159,7 +174,7 @@ Feature: Studio critical workflows
Scenario: Invite collaborators with *Can edit* permissions
Given I am signed in to Studio
- And I am on the channel editor page
+ And I am at 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
@@ -171,7 +186,7 @@ Feature: Studio critical workflows
Scenario: Sync resources
Given I am signed in to Studio
- And I am on the channel editor page for
+ And I am at the channel editor page for
And there is a resource in the that has been imported from
And there is new version of the resource file in the
When I click on the *···* button in the top-right corner
@@ -182,7 +197,7 @@ Feature: Studio critical workflows
Then I see the *Confirm sync* modal
When I click *Sync*
Then the modal closes
- When I refresh the page
+ When I after a period of time I refresh the page
And click on the updated resource
Then I can see that it's updated with any changes made to the original resource file
@@ -191,7 +206,8 @@ Feature: Studio critical workflows
And I am at the channel editor page
And there are available resources of different types
When I select at least two resources
- And I click the *Edit language* icon
+ Then I see a toolbar with the available editing options
+ When I click the *Edit language* icon
Then I see the *Edit language* modal
When I select a new language
And I click the *Save* button
@@ -204,6 +220,56 @@ Feature: Studio critical workflows
Then I am back at the page with the resources
And I see a message: *Changes saved*
+ Scenario: Remove folders and resources by using the toolbar
+ Given I am signed in to Studio
+ And I am at the channel editor page
+ And there are available resources of different types
+ When I check a folder's checkbox
+ Then I see the toolbar options for the selected folder
+ When I click the *Remove* button
+ Then I can see the *Sent to trash* snackbar notification
+ And I see the *Undo* button
+ And I no longer see the folder
+ When I check the checkbox of a resource
+ Then I see the toolbar options for the resource
+ When I click the *Remove* button
+ Then I can see the *Sent to trash* snackbar notification
+ And I see the *Undo* button
+ And I no longer see the resource
+
+ Scenario: Copy multiple resources
+ Given I am signed in to Studio
+ And I am at the channel editor page
+ And there are available resources of different types
+ When I select multiple items via checkboxes
+ Then I see that the select bar has changed to an actions bar
+ When I click the *Make a copy* button in the actions bar
+ Then I see a snackbar appears with a *Copying...* message
+ When the copy creation process is finished
+ Then the snackbar disappears
+ And a snackbar *Copy operation complete* appears
+ And I see that copies are created
+
+ Scenario: Move resources into a new destination
+ When I click on a checkbox(s) and make a resource selection
+ And I click the move button
+ Then I am navigated to a screen that allows me to navigate and choose a destination to move the resource
+ When I navigate to an appropriate destination
+ And click the *Move here* button
+ Then I am redirected to the channel editor
+ And I see a snackbar confirmation that my resources are moved
+ And the resources are no longer in my original directory
+
+ Scenario: Apply details from folder after adding a resource
+ Given I have created a folder with multiple metadata details such as categories, levels, requirements, language
+ When I attempt to import, copy or move a resource into that folder
+ Then I see the *Apply details from the folder * modal
+ And I see that all of the checkboxes for the available metadata are selected
+ When I click the *Continue* button
+ Then I see that the selected metadata is filled in
+ When I click the *Finish* button
+ Then I see that the resource is added in the folder
+
Scenario: Delete a channel
Given I am signed in to Studio
And I have permissions to edit
@@ -234,6 +300,12 @@ Feature: Studio critical workflows
And I can see the size of each resource types
And I can see the *Request more space* section
+ Scenario: Submit more space request
+ When I fill in all the space request text fields
+ And I click the *Send request* submit button
+ Then I see all the text fields clear
+ And a snackbar appears to confirm the submission
+
Scenario: Create a collection by selecting channels
Given I am signed in to Studio
And I am on the *Collections* tab
@@ -258,4 +330,3 @@ Feature: Studio critical workflows
And I can view or download the channel summary
When I click on a channel card
Then I can see all of the channel's resources in *View-only* format
-
From 67eecf414cd184fa76e27da1a8fc069b4edf7e9d Mon Sep 17 00:00:00 2001
From: Peter Cenov
Date: Mon, 12 May 2025 18:30:17 +0300
Subject: [PATCH 04/12] corrections and updates
---
.../explore-without-an-account.feature | 6 ++-
.../reset-your-password.feature | 4 +-
.../access-kolibri-studio/sign-in.feature | 11 +++--
.../features/common/change-language.feature | 8 ++--
.../edit-account-information.feature | 23 ----------
.../export-account-information.feature | 17 --------
.../manage-account/report-issue.feature | 23 ----------
.../request-more-storage-space.feature | 19 --------
.../review-used-storage.feature | 15 -------
.../view-about-studio-page.feature | 11 +++++
.../view-and-edit-account-information.feature | 43 +++++++++++++++++++
.../view-and-request-more-storage.feature | 32 ++++++++++++++
.../manage-account/view-support-links.feature | 14 ------
.../studio-critical-workflows.feature | 2 +-
14 files changed, 105 insertions(+), 123 deletions(-)
delete mode 100755 integration_testing/features/manage-account/edit-account-information.feature
delete mode 100755 integration_testing/features/manage-account/export-account-information.feature
delete mode 100755 integration_testing/features/manage-account/report-issue.feature
delete mode 100755 integration_testing/features/manage-account/request-more-storage-space.feature
delete mode 100755 integration_testing/features/manage-account/review-used-storage.feature
create mode 100755 integration_testing/features/manage-account/view-about-studio-page.feature
create mode 100755 integration_testing/features/manage-account/view-and-edit-account-information.feature
create mode 100755 integration_testing/features/manage-account/view-and-request-more-storage.feature
delete mode 100755 integration_testing/features/manage-account/view-support-links.feature
diff --git a/integration_testing/features/access-kolibri-studio/explore-without-an-account.feature b/integration_testing/features/access-kolibri-studio/explore-without-an-account.feature
index a1bd0c0457..6101177892 100755
--- a/integration_testing/features/access-kolibri-studio/explore-without-an-account.feature
+++ b/integration_testing/features/access-kolibri-studio/explore-without-an-account.feature
@@ -7,5 +7,7 @@ Feature: Explore without an account
Scenario: Explore without an account
When I click the *Explore without an account* link
Then I see the *Content Library* page with available public channels
- And I can filter the search results
- And I can view or download the channel summary
+ And I can filter the search results by keyword, language, license, format, starred status, resources for coaches, captions or subtitles
+ When I click on a channel card
+ Then I can see the channel's details
+ And I can view or download the channel summary
diff --git a/integration_testing/features/access-kolibri-studio/reset-your-password.feature b/integration_testing/features/access-kolibri-studio/reset-your-password.feature
index 46bb82b954..a6deb9c814 100755
--- a/integration_testing/features/access-kolibri-studio/reset-your-password.feature
+++ b/integration_testing/features/access-kolibri-studio/reset-your-password.feature
@@ -7,7 +7,7 @@ Feature: Reset your password
Scenario: Request a link to reset my password
When I click the *Forgot your password?* link
- Then I see a page with option to enter my email address
+ Then I see the *Reset your password* page with option to enter my email address
When I type an existing valid email address in the *Email* field
And I press the *Submit* button
Then I see a message that the instructions are sent
@@ -18,7 +18,7 @@ Feature: Reset your password
Given I've requested and received an email with a link to reset my password
When I click the link in the email
Then I see a page with a *Reset your password* form
- And I fill in the *New password* field
+ When I fill in the *New password* field
And I fill in the *Confirm password* field with the same password
And I press the *Submit* button
Then I see the following message: Password reset successfully
diff --git a/integration_testing/features/access-kolibri-studio/sign-in.feature b/integration_testing/features/access-kolibri-studio/sign-in.feature
index 1678e03bac..478826102e 100755
--- a/integration_testing/features/access-kolibri-studio/sign-in.feature
+++ b/integration_testing/features/access-kolibri-studio/sign-in.feature
@@ -5,7 +5,7 @@ Feature: Sign in to Studio
And I am at Studio's sign-in page
And I have already registered with my email
- Scenario: Sign in to Studio
+ Scenario: Sign in to Studio using valid credentials
When I fill in my email
And I fill in my password
And I click the *Sign in* button
@@ -17,8 +17,13 @@ Feature: Sign in to Studio
And I click the *Sign in* button
Then I see the following validation message above the form: *Email or password is incorrect*
- Scenario: See validation messages for the required fields
+ Scenario: See error notification for invalid email
+ When I fill in an invalid email such as test@
+ And I click the *Sign in* button
+ Then I see the following validation message under the email field: *Please enter a valid email*
+
+ Scenario: See validation messages for the empty required fields
When I leave one or both of the *Email* and *Password* fields empty
And I click the *Sign in* button
Then I see the fields colored in red
- And I see a *Field is required* message under each empty field
+ And I see a *This field is required* message under each empty field
diff --git a/integration_testing/features/common/change-language.feature b/integration_testing/features/common/change-language.feature
index f642029fde..80e8f421a9 100755
--- a/integration_testing/features/common/change-language.feature
+++ b/integration_testing/features/common/change-language.feature
@@ -3,7 +3,7 @@ Feature: Change language
Scenario: Change language when you are not signed-in
Given I am not signed-in to Studio
- And I am on the Studio home page
+ And I am at Studio's sign-in page
When I click on one of the available languages
Then the language interface changes to the selected language
And the selected language is no longer clickable
@@ -13,16 +13,16 @@ Feature: Change language
And I have clicked the *Explore without an account link*
When I click on the user profile icon
And I click *Change language*
- Then I see a *Change language* modal window displayed with several languages to choose from
+ Then I see a *Change language* modal window with the available languages
When I click on a language which is not currently selected
And I click the *Confirm* button
Then the interface language changes to the selected language
- Scenario: Change language as a signed-in user
+ Scenario: Change the language as a signed-in user
Given I am signed-in to Studio
And I click the user profile icon
When I click *Change language*
- Then I see a *Change language* modal window displayed with several languages to choose from
+ Then I see a *Change language* modal window with the available languages
When I click on a language which is not currently selected
And I click the *Confirm* button
Then the interface language changes to the selected language
diff --git a/integration_testing/features/manage-account/edit-account-information.feature b/integration_testing/features/manage-account/edit-account-information.feature
deleted file mode 100755
index fa9ecb46de..0000000000
--- a/integration_testing/features/manage-account/edit-account-information.feature
+++ /dev/null
@@ -1,23 +0,0 @@
-Feature: Edit account information
-
- Background:
- Given I am signed in to Studio
- And I am on Studio *Settings > Account* page
-
- Scenario: Changing password
- When I click on the *Change password* hyperlink
- And I make changes to my password
- And I press *Save changes* button in the modal
- Then I see a snackbar appears to confirm my password was updated
- And the modal is dismissed
-
- Scenario: Editing full name
- When I click the *Edit* hyperlink near my username
- And I make changes to my full name
- And I click *Save changes* button in the modal
- Then I see a snackbar appears to confirm changes are saved
- And the modal is dismissed
-
- Scenario: Copying API token
- When I click the copy button in the token text field
- Then a snackbar appears to confirm the code is copied
diff --git a/integration_testing/features/manage-account/export-account-information.feature b/integration_testing/features/manage-account/export-account-information.feature
deleted file mode 100755
index 95d3b9c2b4..0000000000
--- a/integration_testing/features/manage-account/export-account-information.feature
+++ /dev/null
@@ -1,17 +0,0 @@
-Feature: Export account information
-
- Background:
- Given I have a Studio account
- And I am signed in to Studio
- And I have interacted with various data and channels
- And I am on the *Settings > Account* page
-
- Scenario: Export account data
- When I click the *Export Data* button
- Then I see a modal appears to confirm export is in-progress
- When I click *Ok* to dismiss the modal
- Then I see the modal disappears
-
- Scenario: Viewing the exported data
- When I check the Inbox of my email account registered at Studio
- Then I see an email with an attachment that contains my account data
diff --git a/integration_testing/features/manage-account/report-issue.feature b/integration_testing/features/manage-account/report-issue.feature
deleted file mode 100755
index 27ee5105bb..0000000000
--- a/integration_testing/features/manage-account/report-issue.feature
+++ /dev/null
@@ -1,23 +0,0 @@
-Feature: Report an issue
-
- Background:
- Given I am signed in to Studio
- And I am on the *Settings > About Studio* page
-
- Scenario: Report an issue
- When I click the *Report an issue* button
- Then I see a dialog modal appears
- And I see text input fields
- When I input issue information
- And click the *Submit* button
- Then I see the modal disappears
- And a snackbar appears to confirm the submission
-
- Scenario: Error in issue report submission
- When I input some issue information
- And skip at least one field
- Then I see error validation text beneath the error fields
- When I resolve those errors
- And click the *Submit* button
- Then I see the modal disappears
- And a snackbar appears to confirm the submission
diff --git a/integration_testing/features/manage-account/request-more-storage-space.feature b/integration_testing/features/manage-account/request-more-storage-space.feature
deleted file mode 100755
index bac9d32f63..0000000000
--- a/integration_testing/features/manage-account/request-more-storage-space.feature
+++ /dev/null
@@ -1,19 +0,0 @@
-Feature: Request more storage space
-
- Background:
- Given I am signed in to Studio
- And I am on Studio *Settings > Storage* page
- And I click *Show form* on the page
-
- Scenario: Submit more space request
- When I fill in all the space request text fields
- And I click the *Send request* submit button
- Then I see all the text fields clear
- And a snackbar appears to confirm the submission
-
- Scenario: Submit more space request with errors
- When I do not fill in all the required text fields
- And I click the *Send request* submit button
- Then I see a system error message above the form
- And I see my text field inputs still intact
- And I see error validation text near fields that need input
diff --git a/integration_testing/features/manage-account/review-used-storage.feature b/integration_testing/features/manage-account/review-used-storage.feature
deleted file mode 100755
index 743b36c1ac..0000000000
--- a/integration_testing/features/manage-account/review-used-storage.feature
+++ /dev/null
@@ -1,15 +0,0 @@
-Feature: Review used storage
-
- Background:
- Given I am signed in to Studio
- And I am on the *Settings > Storage* page
-
- Scenario: Review used storage
- Given I have uploaded some resources in my channels
- When I look under the *% storage used* heading
- Then I see the storage use broken down by resources type
-
- Scenario: No storage used
- Given that I have not uploaded any resources in my channels
- When I look under the *% storage used* heading
- Then I see that there is 0% storage used
diff --git a/integration_testing/features/manage-account/view-about-studio-page.feature b/integration_testing/features/manage-account/view-about-studio-page.feature
new file mode 100755
index 0000000000..344d4f3978
--- /dev/null
+++ b/integration_testing/features/manage-account/view-about-studio-page.feature
@@ -0,0 +1,11 @@
+Feature: About Studio
+
+ Background:
+ Given I am signed in to Studio
+ And I am at *Settings > About Studio* page
+
+ Scenario: Read the available info and follow the links
+ When I look at the page
+ Then I see the following sections: *Kolibri Studio resources*, *About Kolibri Studio*, *Best practices* and *Notable issues*
+ When I click on any of the provided links
+ Then I can go to the linked page
diff --git a/integration_testing/features/manage-account/view-and-edit-account-information.feature b/integration_testing/features/manage-account/view-and-edit-account-information.feature
new file mode 100755
index 0000000000..12730dced5
--- /dev/null
+++ b/integration_testing/features/manage-account/view-and-edit-account-information.feature
@@ -0,0 +1,43 @@
+Feature: View and edit the account information
+
+ Background:
+ Given I am signed in to Studio
+ And I am at the *Settings > Account* page
+
+ Scenario: View the account information
+ When I look at the page
+ Then I see the *Basic information* section with, *Username*, *Full name* and *Password*
+ And I see the *API token* section with the token
+ And I see the *Export account data* section with *Export data* button
+ And I see the *Delete account* section
+
+ Scenario: Edit the full name
+ When I click the *Edit full name* link next to my username
+ Then I see the *Edit full name* modal
+ When I make changes to my full name
+ And I click the *Save changes* button
+ Then the modal closes
+ And I see a *Changes saved* snackbar
+
+ Scenario: Change the password
+ When I click on the *Change password* link
+ Then I see the *Change password* modal
+ When I enter a new password
+ And I click the *Save changes* button
+ Then the modal closes
+ And I see a *Changes saved* snackbar
+
+ Scenario: Copy the API token
+ When I click the copy button in the token text field
+ Then I see a *Token copied* snackbar
+
+ Scenario: Export account data
+ When I click the *Export data* button
+ Then I see the *Data export started* modal
+ When I click the *OK* button
+ Then the modal closes
+
+ Scenario: View the exported data
+ When after a period of time I check the Inbox of my email account registered at Studio
+ Then I see an email with the exported account data as an attachment
+ And I can view the exported account data
diff --git a/integration_testing/features/manage-account/view-and-request-more-storage.feature b/integration_testing/features/manage-account/view-and-request-more-storage.feature
new file mode 100755
index 0000000000..e3f0b0995b
--- /dev/null
+++ b/integration_testing/features/manage-account/view-and-request-more-storage.feature
@@ -0,0 +1,32 @@
+Feature: View the storage and request more storage space
+
+ Background:
+ Given I am signed in to Studio
+ And I am at the *Settings > Storage* page
+ And I have uploaded some resources to my channels
+
+ Scenario: Review used storage
+ When I look at the *Settings > Storage* page
+ Then I see the *% storage used* progress bar
+ And I see the remaining storage as *NNN MB of NNN MB*
+ And I see the amount of storage used broken down by resources type
+
+ Scenario: No storage used
+ Given that I have not uploaded any resources in my channels
+ When I look under the *% storage used* heading
+ Then I see that there is 0% storage used
+
+ Scenario: Request more space
+ When I click the *Open form* link under the *Request more space* section
+ And I fill in all the space request required fields
+ And I click the *Send request* button
+ Then the form disappears
+ And I see a *Your storage request has been submitted for processing* snackbar message
+ When after a period of time I open my email
+ Then I see a *Kolibri Studio storage request from user@user.com* email
+
+ Scenario: Submit more space request with errors
+ When I leave the required fields empty
+ And I click the *Send request* button
+ Then I see a *Please fix N errors below* error message above the form
+ And I see a *Field is required* text below each required field
diff --git a/integration_testing/features/manage-account/view-support-links.feature b/integration_testing/features/manage-account/view-support-links.feature
deleted file mode 100755
index 8013621f30..0000000000
--- a/integration_testing/features/manage-account/view-support-links.feature
+++ /dev/null
@@ -1,14 +0,0 @@
-Feature: View support links
-
- Background:
- Given I am signed in to Studio
- And I am on Studio *Settings > About Studio* page
-
- Scenario: View resources
- When I click the *Kolibri Studio User Guide* link
- Then a new browser tab opens with the ReadTheDocs page
- # Privacy Policy page not yet implemented
-
- Scenario: View notable issues
- When I click one of the notable issue hyperlinks
- Then a new browser tab opens with the GitHub issue in question
diff --git a/integration_testing/features/studio-critical-workflows.feature b/integration_testing/features/studio-critical-workflows.feature
index 9c05a2eb88..9e1066a432 100644
--- a/integration_testing/features/studio-critical-workflows.feature
+++ b/integration_testing/features/studio-critical-workflows.feature
@@ -52,7 +52,7 @@ Feature: Studio critical workflows
Given I am signed-in to Studio
And I click the user profile icon
When I click *Change language*
- Then I see a *Change language* modal window displayed with several languages to choose from
+ Then I see a *Change language* modal window with the available languages
When I click on a language which is not currently selected
And I click the *Confirm* button
Then the interface language changes to the selected language
From 014a51fdac90130c556c5629c390198d8a68af5e Mon Sep 17 00:00:00 2001
From: Peter Cenov
Date: Tue, 13 May 2025 17:13:21 +0300
Subject: [PATCH 05/12] corrections
---
.../add-channel-to-starred.feature | 9 +-
.../manage-channels/create-a-channel.feature | 12 ++-
.../manage-channels/delete-channel.feature | 28 +++---
.../edit-channel-details.feature | 2 +-
...get-channel-token-after-publishing.feature | 15 +--
.../manage-channels/publish-channel.feature | 99 ++++++++++++++-----
.../manage-channels/share-channels.feature | 2 +-
.../stop-channel-publish.feature | 11 ---
...use-channels-with-view-only-access.feature | 44 ---------
.../view-channel-details.feature | 25 +++--
...iew-channels-with-view-only-access.feature | 37 +++++++
.../studio-critical-workflows.feature | 8 +-
12 files changed, 167 insertions(+), 125 deletions(-)
delete mode 100755 integration_testing/features/manage-channels/stop-channel-publish.feature
delete mode 100755 integration_testing/features/manage-channels/use-channels-with-view-only-access.feature
create mode 100755 integration_testing/features/manage-channels/view-channels-with-view-only-access.feature
diff --git a/integration_testing/features/manage-channels/add-channel-to-starred.feature b/integration_testing/features/manage-channels/add-channel-to-starred.feature
index 91da946562..aee4d9838a 100755
--- a/integration_testing/features/manage-channels/add-channel-to-starred.feature
+++ b/integration_testing/features/manage-channels/add-channel-to-starred.feature
@@ -13,7 +13,7 @@ Feature: Add a channel to the *Starred* tab
When I click and open the *Starred* tab
Then I see that the channel is displayed among the starred channels
- Scenario: Unstar a channel
+ Scenario: Remove a channel from the starred channels
Given I am on *My Channels*, *View only*, or *Public* tabs
And I see a channel that is starred (black star)
When I click the *Remove from starred channels* button for the channel
@@ -21,17 +21,16 @@ Feature: Add a channel to the *Starred* tab
And I see a message that the channel was removed from the starred channels
When I click and open the *Starred* tab
Then I see the list of starred channels
- But I don't see the unstarred channel on the list
Scenario: Remove channel directly from the *Starred* tab
Given I am on the *Starred* tab
And I see a starred channel
When I click the *Remove from starred channels* button for the channel
- Then I don't see the unstarred channel any more
+ Then I don't see the removed channel any more
Scenario: Remove a starred channel form the *Content Library* tab with *Starred* filter on
Given I am on the *Content Library* tab
And I've selected the *Starred* checkbox
When I click on the star button of a starred channel.
- Then I should see a message that the channel was removed from the starred channels
- And the channel should no longer be displayed in the list with the filtered channels
+ Then I see a message that the channel was removed from the starred channels
+ And the channel is no longer displayed in the list with the filtered channels
diff --git a/integration_testing/features/manage-channels/create-a-channel.feature b/integration_testing/features/manage-channels/create-a-channel.feature
index e117f3012a..d448a239a2 100755
--- a/integration_testing/features/manage-channels/create-a-channel.feature
+++ b/integration_testing/features/manage-channels/create-a-channel.feature
@@ -2,17 +2,19 @@ Feature: Create a channel
Background:
Given I am signed in to Studio
- And I am on the *My Channels* tab
+ And I am at *My Channels* tab
Scenario: Create a new channel
- Given I am signed in to Studio
- And I am at *My Channels* tab
When I click the *New channel* button
Then I see the *New channel* page
- When I enter a channel name
+ When I upload an image file as a channel thumbnail (optional)
+ And I enter a channel name
And I select a language
And I enter channel description (optional)
And I fill in the default copyright fields (optional)
- And I upload an image file as a channel thumbnail (optional)
And I click the *Create* button
Then I am at the channel editor view
+ And I see the title of the channel to the left
+ And I see a disabled *Publish* button
+ And I see *Click "ADD" to start building your channel Create, upload, or import resources from other channels*
+ And I see a blue *Add* button
diff --git a/integration_testing/features/manage-channels/delete-channel.feature b/integration_testing/features/manage-channels/delete-channel.feature
index 8e774a2cd7..56a1f14769 100755
--- a/integration_testing/features/manage-channels/delete-channel.feature
+++ b/integration_testing/features/manage-channels/delete-channel.feature
@@ -1,23 +1,25 @@
-Feature: Delete channel
+Feature: Delete a channel
Background:
Given I am signed in to Studio
- And I have permissions to edit
- And I am on *My Channels* tab
+ And I have permissions to edit a channel
+ And I am at *My channels* tab
- Scenario: Delete channel
+ Scenario: Delete a channel
When I click the *Options* button of a channel #the three dots to the right
Then I see a *Delete channel* option
When I click the *Delete channel* option
- And I click the *Delete channel* button
- Then I see a message that the channel is deleted
- And the deleted channel is no longer displayed on *My Channels* tab
+ Then I see a *Delete this channel* confirmation modal
+ When I click the *Delete channel* button
+ Then I see a *Channel deleted* snackbar message
+ And the deleted channel is no longer displayed on *My channels* tab
- Scenario: Cancel deleting a channel
+ Scenario: Cancel the deletion of a channel
When I click the *Options* button of a channel #the three dots to the right
Then I see a *Delete channel* option
When I click the *Delete channel* option
- And I click the *Cancel* button
+ Then I see a *Delete this channel* confirmation modal
+ When I click the *Cancel* button
Then the *Delete this channel* modal window is closed
And the channel is not deleted
@@ -26,8 +28,8 @@ Feature: Delete channel
Then I see the channel resources page
When I click the *Options* button to the right side of the topbar
Then I see a *Delete channel* option colored in red
- When I click the *Delete channel* option
+ When I click the *Delete this channel* option
And I click the *Delete channel* button
- Then I see a message that the channel is deleted
- And I am brought back on *My channels* tab
- And the deleted channel is no longer displayed on *My Channels* tab
+ Then I am brought back to *My channels* tab
+ And I see a *Channel deleted* snackbar message
+ And the deleted channel is no longer displayed in *My channels* list
diff --git a/integration_testing/features/manage-channels/edit-channel-details.feature b/integration_testing/features/manage-channels/edit-channel-details.feature
index 53dbf8a136..a668ffcdac 100755
--- a/integration_testing/features/manage-channels/edit-channel-details.feature
+++ b/integration_testing/features/manage-channels/edit-channel-details.feature
@@ -10,5 +10,5 @@ Feature: Edit channel details
And I see the details for the channel - channel name, language, channel description etc.
When I modify any of the details
And I click the *Save changes* button
- Then I see a message: Changes saved
+ Then I see *Changes saved* snackbar message
And I can close the modal window
diff --git a/integration_testing/features/manage-channels/get-channel-token-after-publishing.feature b/integration_testing/features/manage-channels/get-channel-token-after-publishing.feature
index 68701049fc..99f5c8c580 100755
--- a/integration_testing/features/manage-channels/get-channel-token-after-publishing.feature
+++ b/integration_testing/features/manage-channels/get-channel-token-after-publishing.feature
@@ -2,15 +2,16 @@ Feature: Get channel token after publishing the channel
Background:
Given I am signed in to Studio
- And I am on the editor page
- And the has recently been published
+ And I am on the channel editor page
+ And the channel has recently been published
- Scenario: 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 a modal appears with an option to copy the channel token
+ Then I see the *Copy channel token*
+ And I see the channel token e.g. hufim-lolib
When I click on the copy button
- Then a snackbar appears to confirm the code is copied to the clipboard
+ Then a *Token copied* snackbar message
+ When I click the *Close* button
+ Then the modal closes
- Examples:
- | channel |
diff --git a/integration_testing/features/manage-channels/publish-channel.feature b/integration_testing/features/manage-channels/publish-channel.feature
index bcf8d4732f..86e965286f 100755
--- a/integration_testing/features/manage-channels/publish-channel.feature
+++ b/integration_testing/features/manage-channels/publish-channel.feature
@@ -2,29 +2,84 @@ Feature: Publish a channel
Background:
Given I am signed in to Studio
- And I am in the channel editor page
- And I have write access to the channel
- And the channel has had modifications
+ And I am at the channel editor page for a channel created by me
+ And the there are unpublished resources
Scenario: Publish a channel
- When I click the *Publish* button in the top right corner
- Then the *Publish modal* appears
- And I see steps for resolving errors and describing new changes
- When I click *Publish*
- Then I see the *Publishing channel* progress bar appears
- When the progress bar reaches 100%
- And I click *Refresh*
- Then the browser refreshes
- And the published version is updated
- And I receive an email for channel published successfully
+ When I click the *Publish* button
+ Then I see the *Publish modal*
+ And I see the title of the channel
+ And I see a *Version description* field
+ When I enter a description
+ And I click the *Publish* button
+ Then the modal disappears
+ And I see the *Publishing channel 0%* progress indicator to the left of the *Publish* button
+ When the channel has been published successfully
+ Then the progress indicator text changes to *Published NN seconds ago*
+ And the *Publish* button remains disabled
+ When after a period of time I check my email
+ Then I see that I have received a confirmation email that the channel has been published successfully
Scenario: Publish a large channel
- When the channel as at least 5000 nodes
- And I click the *Publish* button in the top right corner
- Then the *Publish modal* appears
- And I see a loading spinner while it loads the channel's size
- And I see the *Continue* button is disabled
- When the channel's size has loaded
- Then the loading spinner disappears
- And I see the *Continue* button isn't disabled
- And I can continue publishing
+ Given there is an unpublished channel with more than 5000 nodes
+ When I click the *Publish* button
+ Then I see the *Publish modal*
+ And I see the title of the channel
+ And I see a *Version description* field
+ When I enter a description
+ And I click the *Publish* button
+ Then the modal disappears
+ And I see the *Publishing channel 0%* progress indicator to the left of the *Publish* button
+ When the channel has been published successfully
+ Then the progress indicator text changes to *Published NN seconds ago*
+ And the *Publish* button remains disabled
+ When after a period of time I check my email
+ Then I see that I have received a confirmation email that the channel has been published successfully
+
+ Scenario: Publish a channel with incomplete resources
+ Given the channel contains incomplete resources
+ When I look to the left of the *Publish* button
+ Then I see a yellow icon with exclamation
+ And I see a the number of incomplete resources
+ And when I hover over the icon I see *N resources are incomplete and cannot be published*
+ When I click the *Publish* button
+ Then I see the *Publish modal*
+ And I see text informing me of the number of incomplete resources and they won't be published
+ When I click the *Continue* button
+ Then I see the *Publish modal*
+ And I see the title of the channel
+ And I see a *Version description* field
+ When I enter a description
+ And I click the *Publish* button
+ Then the modal disappears
+ And I see the *Publishing channel 0%* progress indicator to the left of the *Publish* button
+ When the channel has been published successfully
+ Then the progress indicator text changes to *Published NN seconds ago*
+ And the *Publish* button remains disabled
+ When after a period of time I check my email
+ Then I see that I have received a confirmation email that the channel has been published successfully
+
+ Scenario: Publish a channel with resources in different languages
+ Given the channel contains multiple resources in different languages
+ When I click the *Publish* button
+ Then I see the *Publish modal*
+ And I see the title of the channel
+ And I see a *Version description* field
+ And I see a *Language* drop-down in red
+ And I see *Please select a language for this channel*
+ When I enter a description
+ And I select a language
+ And I click the *Publish* button
+ Then the modal disappears
+ And I see the *Publishing channel 0%* progress indicator to the left of the *Publish* button
+ When the channel has been published successfully
+ Then the progress indicator text changes to *Published NN seconds ago*
+ And the *Publish* button remains disabled
+ When after a period of time I check my email
+ Then I see that I have received a confirmation email that the channel has been published successfully
+
+ Scenario: Attempt to publish a *View-only* channel
+ Given I've been invited to view a *View-only* channel
+ When I attempt to publish the channel
+ Then I see a *View-only* text at the place of the *Publish* button
+ And it's not possible to publish the channel
diff --git a/integration_testing/features/manage-channels/share-channels.feature b/integration_testing/features/manage-channels/share-channels.feature
index 7798d299f4..f3ce19f6de 100755
--- a/integration_testing/features/manage-channels/share-channels.feature
+++ b/integration_testing/features/manage-channels/share-channels.feature
@@ -10,7 +10,7 @@ Feature: Share channels
Scenario: Invite collaborators with *Can edit* permissions
When I type the email of the person I want to invite
- And I don't change the preselected *Can edit* option in the drop-down
+ And I leave the preselected *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
diff --git a/integration_testing/features/manage-channels/stop-channel-publish.feature b/integration_testing/features/manage-channels/stop-channel-publish.feature
deleted file mode 100755
index 5e68344c78..0000000000
--- a/integration_testing/features/manage-channels/stop-channel-publish.feature
+++ /dev/null
@@ -1,11 +0,0 @@
-Feature: Stop the publish of a channel
-
- Background:
- Given there's a channel publish task in-progress
-
- Scenario: Stop the publish of a channel
- When I click the *Stop* button in the publish modal
- Then a confirmation message appears
- When I click *Yes, stop task*
- Then the publish task stops
- And I am back in the channel editor page
diff --git a/integration_testing/features/manage-channels/use-channels-with-view-only-access.feature b/integration_testing/features/manage-channels/use-channels-with-view-only-access.feature
deleted file mode 100755
index 1d1c190a04..0000000000
--- a/integration_testing/features/manage-channels/use-channels-with-view-only-access.feature
+++ /dev/null
@@ -1,44 +0,0 @@
-Feature: Use channels with view-only access
-
- Background:
- Given I am signed in to Studio
- And I am on the editor page
- And I have view-only permissions for
-
- Scenario: Navigate topic tree
- When I click the topic
- Then I see its subtopics and resources
- When I click the *>* button for the topic when collapsed
- Then I see the its subtopics unfold
- When I click the *Collapse all* button
- Then I see that all topics with subtopics collapse
- When I hover over a topic
- And I click on a *···* button for more options
- Then I can see the *View details* option
- And I can see the *Copy to clipboard* option
- But I do not see any other options
-
- Scenario: View details for a topic
- When I hover over a topic
- And I click on a *···* button for more options
- Then I can see the *View details* option
- When I select the *View details* option
- Then I can see the *Topic* pane open on the right
- And I can see all the details for the topic
-
- Scenario: View details for a resource
- When I hover over a type of resource
- And I click on a *···* button for more options
- And I select the *View details* option
- Then I can see the pane for the resource opens on the right
- And I can see all the details for the resource
-
- Scenario: Copy topic or resource to the clipboard from *···* options
- When I hover over a resource in the topic tree
- And I click on a *···* button for more options
- And I select the *Copy to clipboard* option
- Then I see the *Creating 1 copy on clipboard* snackbar notification
- And I see the *Cancel* button
-
- Examples:
- | topic | kind | resource |
diff --git a/integration_testing/features/manage-channels/view-channel-details.feature b/integration_testing/features/manage-channels/view-channel-details.feature
index 1109f8f971..d9ecc0394c 100755
--- a/integration_testing/features/manage-channels/view-channel-details.feature
+++ b/integration_testing/features/manage-channels/view-channel-details.feature
@@ -2,28 +2,28 @@ Feature: View channel details
Background:
Given I am signed in to Studio
- And I am on any of the tabs (*My Channels*, *Starred*, *View only*, or *Content Library*)
+ And I am in any of the tabs (*My Channels*, *Starred*, *View only*, or *Content Library*)
Scenario: Open channel details
- When I click the *i* button for the desired
- Then I see a new page with channel details
- And I see the detailed information for the (token, size and resources, language, etc.)
+ When I click the *i* button for the desired channel
+ Then I see a new page with the channel details
+ And I see the detailed information for the channel (token, size and resources, language, etc.)
Scenario: Copy channel token
- Given I am on channel details page
- And I see the channel token
+ Given I am at the channel details page
+ And I see the channel token
And I see the token *Copy* button
When I click the *Copy* button
Then I see the snackbar notification that the token is copied in to the clipboard
When I use the paste feature (Ctrl+V)
- Then I see the channel token pasted
+ Then I see the channel token pasted
Scenario: Download files with the channel summary
- Given I am on channel details page
+ Given I am at the channel details page
And I see the *Download channel summary* button
When I click the *Download channel summary* button
- Then I see the options to download summary as PDF and CSV files
- When I select the option to download PDF
+ Then I see the options to download the summary as a PDF or a CSV file
+ When I select the option to download as PDF
Then I can save and open the PDF file in my default system PDF reader application
When I select the option to download CSV
Then I can save and open the CSV file in my default system CSV application
@@ -31,7 +31,4 @@ Feature: View channel details
Scenario: Close channel details page
When I click the *X* button in the top bar
Then I don't see the channel details page any more
- And I see the channel list on the tab where I initially opened it
-
- Examples:
- | channel | token |
+ And I see the channel list in the tab where I initially opened it
diff --git a/integration_testing/features/manage-channels/view-channels-with-view-only-access.feature b/integration_testing/features/manage-channels/view-channels-with-view-only-access.feature
new file mode 100755
index 0000000000..f3b14ff8e0
--- /dev/null
+++ b/integration_testing/features/manage-channels/view-channels-with-view-only-access.feature
@@ -0,0 +1,37 @@
+Feature: View channels with view-only access
+
+ Background:
+ Given I am signed in to Studio
+ And I am at the channel editor page
+ And I have view-only permissions for the channel
+
+ Scenario: Navigate by using the topic tree sidebar
+ When I click on a folder with subfolders and resources
+ Then I see its subfolders and resources
+ When I click the *>* button for the folder when collapsed
+ Then it gets expanded so that I can see the subfolders
+ When I click the *Collapse all* button
+ Then I see that all folders with subfolders collapse
+ When I click on a folder with no resources
+ Then I see *Nothing in this folder yet*
+ When I hover over a folder
+ And I click on the *···* button for more options
+ Then I can see the *View details* and *Copy to clipboard* options
+ When I click the *View details* option
+ Then I can see the *folder* panel open on the right
+ And I can see all the details for the folder
+ When I click the *Copy to clipboard* option
+ Then I see a *Copied to clipboard* snackbar message
+
+ Scenario: View details for a resource
+ When I hover over a resource
+ And I click on a *···* button for more options
+ And I select the *View details* option
+ Then I can see the details panel open on the right
+ And I can see all the details for the resource
+
+ Scenario: Copy a resource to the clipboard from *···* options
+ When I hover over a resource
+ And I click on a *···* button for more options
+ And I click the *Copy to clipboard* option
+ Then I see a *Copied to clipboard* snackbar message
diff --git a/integration_testing/features/studio-critical-workflows.feature b/integration_testing/features/studio-critical-workflows.feature
index 9e1066a432..73d2bba978 100644
--- a/integration_testing/features/studio-critical-workflows.feature
+++ b/integration_testing/features/studio-critical-workflows.feature
@@ -78,13 +78,17 @@ Feature: Studio critical workflows
And I am at *My Channels* tab
When I click the *New channel* button
Then I see the *New channel* page
- When I enter a channel name
+ When I upload an image file as a channel thumbnail (optional)
+ And I enter a channel name
And I select a language
And I enter channel description (optional)
And I fill in the default copyright fields (optional)
- And I upload an image file as a channel thumbnail (optional)
And I click the *Create* button
Then I am at the channel editor view
+ And I see the title of the channel to the left
+ And I see a disabled *Publish* button
+ And I see *Click "ADD" to start building your channel Create, upload, or import resources from other channels*
+ And I see a blue *Add* button
Scenario: Edit channel details
Given I am signed in to Studio
From daaa97f49873755184f681a51fd5bf6756d9e101 Mon Sep 17 00:00:00 2001
From: Peter Cenov
Date: Thu, 15 May 2025 17:29:12 +0300
Subject: [PATCH 06/12] more corrections and updates
---
.../manage-additional-channel-options.feature | 39 -------
.../open-a-channel-in-a-new-tab.feature | 12 ---
.../manage-channels/sync-channel.feature | 100 +++++++-----------
.../create-a-collection.feature | 39 -------
.../delete-a-collection.feature | 14 ---
.../edit-a-collection.feature | 23 ----
.../manage-collections.feature | 71 +++++++++++++
...and-and-collapse-clipboard-folders.feature | 0
.../go-to-resource-original-location.feature | 0
.../preview-resource-in-clipboard.feature | 0
...ove-from-clipboard-via-right-click.feature | 0
...e-from-clipboard-via-selection-bar.feature | 0
...tiple-resources-from-the-clipboard.feature | 0
...ndo-removal-of-clipboard-resources.feature | 0
.../manage-resources/delete-resources.feature | 39 ++++---
...-import-selections-to-channel-list.feature | 19 ----
...er-tree.feature => manage-folders.feature} | 23 ++--
.../manage-folders/create-a-folder.feature | 16 ---
.../manage-resources/upload-files.feature | 56 ++++++++--
.../studio-critical-workflows.feature | 10 +-
20 files changed, 207 insertions(+), 254 deletions(-)
delete mode 100755 integration_testing/features/manage-channels/manage-additional-channel-options.feature
delete mode 100755 integration_testing/features/manage-channels/open-a-channel-in-a-new-tab.feature
delete mode 100755 integration_testing/features/manage-collections/create-a-collection.feature
delete mode 100755 integration_testing/features/manage-collections/delete-a-collection.feature
delete mode 100755 integration_testing/features/manage-collections/edit-a-collection.feature
create mode 100755 integration_testing/features/manage-collections/manage-collections.feature
rename integration_testing/features/manage-resources/{ => copy-resources}/clipboard/expand-and-collapse-clipboard-folders.feature (100%)
rename integration_testing/features/manage-resources/{ => copy-resources}/clipboard/go-to-resource-original-location.feature (100%)
rename integration_testing/features/manage-resources/{ => copy-resources}/clipboard/preview-resource-in-clipboard.feature (100%)
rename integration_testing/features/manage-resources/{ => copy-resources}/clipboard/remove-from-clipboard-via-right-click.feature (100%)
rename integration_testing/features/manage-resources/{ => copy-resources}/clipboard/remove-from-clipboard-via-selection-bar.feature (100%)
rename integration_testing/features/manage-resources/{ => copy-resources}/clipboard/remove-multiple-resources-from-the-clipboard.feature (100%)
rename integration_testing/features/manage-resources/{ => copy-resources}/clipboard/undo-removal-of-clipboard-resources.feature (100%)
delete mode 100755 integration_testing/features/manage-resources/go-back-from-review-import-selections-to-channel-list.feature
rename integration_testing/features/manage-resources/{manage-folders/set-up-empty-folder-tree.feature => manage-folders.feature} (53%)
delete mode 100755 integration_testing/features/manage-resources/manage-folders/create-a-folder.feature
diff --git a/integration_testing/features/manage-channels/manage-additional-channel-options.feature b/integration_testing/features/manage-channels/manage-additional-channel-options.feature
deleted file mode 100755
index d0578dfc3c..0000000000
--- a/integration_testing/features/manage-channels/manage-additional-channel-options.feature
+++ /dev/null
@@ -1,39 +0,0 @@
-Feature: Access and use additional options on channel list
- User needs to be able to access additional options to manage channels from the channel list
-
- Background:
- Given I am signed in to Studio
- And I am at *My Channels* tab
-
- Scenario: Edit channel details
- When I click the *⋮* button
- And I click the *Edit channel details* option
- Then I see a modal window with the channel details
- And I see the details for the channel - channel name, language, channel description etc.
- When I modify any of the details
- And I click the *Save changes* button
- Then I see a message: Changes saved
- And I can close the modal window
-
- Scenario: Copy channel token
- When I click the *⋮* button
- And I click the *Copy channel token* option
- Then I see the *Copy channel token* modal window
- When I click on the icon to the right of the token
- Then I see a *Token copied* message
- And I can paste the copied token wherever I need to paste it
-
- Scenario: Delete channel
- When I click the *⋮* button
- And I click the *Delete channel* option
- Then I see the *Delete this channel* modal window
- And I see a message *This channel will be permanently deleted. This cannot be undone.*
- When I click the *Delete channel* button
- Then the channel is deleted and is no longer displayed
-
- Scenario: View channel details
- When I click the *i* button
- Then I see a modal window with the channel details
- When I click the *Download channel summary button*
- And I click one of the available options
- Then I can download the channel summary either as a .pdf or a .csv file
diff --git a/integration_testing/features/manage-channels/open-a-channel-in-a-new-tab.feature b/integration_testing/features/manage-channels/open-a-channel-in-a-new-tab.feature
deleted file mode 100755
index 5afb28ba91..0000000000
--- a/integration_testing/features/manage-channels/open-a-channel-in-a-new-tab.feature
+++ /dev/null
@@ -1,12 +0,0 @@
-Feature: Open channel in new tab
-
- Background:
- Given I am signed in to Studio
- And I am on the channel editor view
-
- Scenario: Open channel in new tab
- When I click on clipboard button on the bottom-right of the screen
- Then the clipboard opens up
- When I right click a channel item on the clipboard
- And click *Open in new tab* on the dropdown menu that appears
- Then a tab opens with the view-only or editable channel in question
diff --git a/integration_testing/features/manage-channels/sync-channel.feature b/integration_testing/features/manage-channels/sync-channel.feature
index ec33919b39..3023eba6fc 100755
--- a/integration_testing/features/manage-channels/sync-channel.feature
+++ b/integration_testing/features/manage-channels/sync-channel.feature
@@ -3,86 +3,68 @@ Feature: Sync resources
Background:
Given I am signed in to Studio
- And I am on the editor page
- And there is a in the that has been imported from
+ And I am editing
+ And there is a resource in that has been imported from
Scenario: Sync resource file information
- Given there is new version of the file in the
- Or the thumbnail has been added to the file in the
- When I click on the *···* button in the top-right corner
- And I select the *Sync channel* option
+ Given there is a new version of the resource file in
+ When I click the *···* button in the top-right corner
+ And I select the *Sync resources* option
Then I see *Sync resources* modal window
- When I activate the *File* checkbox
- And click the *Continue* button
+ And I see options to sync files, resource details, titles and description, assessment details
+ When I select the Files checkbox
+ And I click the *Continue* button
Then I see the *Confirm sync* modal
When I click *Sync*
- Then I see the *Syncing channel* modal
- And I see the progress bar
- When I see the *Operation complete!* message
- And I click the *Refresh button*
- Then I see the new file version of the
- Or I see the new thumbnail
+ Then the modal closes
+ When after a period of time I refresh the page
+ And inspect the updated resource(s)
+ Then I can see that any changes made to the original resource(s) are synced correctly (including thumbnails, subtitles and captions)
- Scenario: Sync resource tags
- Given the in the has a new tag
- When I click on the *···* button in the top-right corner
- And I select the *Sync channel* option
- Then I see *Sync resources* modal window
- When I activate the *Tags* checkbox
+ Scenario: Sync resource details
+ Given there is a new version of the resource file in
+ And I am at the *Sync resources* modal window
+ When I select the *Tags* checkbox
And click the *Continue* button
Then I see the *Confirm sync* modal
When I click *Sync*
- Then I see the *Syncing channel* modal
- And I see the progress bar
- When I see the *Operation complete!* message
- And I click the *Refresh button*
- Then I see the new tag of the
+ Then the modal closes
+ When after a period of time I refresh the page
+ And inspect the updated resource(s)
+ Then I can see that any changes made to the original resource(s) details are synced correctly (learning activity, level, requirements, category, tags, audience, and source)
Scenario: Sync resource title and description
- Given the in the has a new title and description
- When I click on the *···* button in the top-right corner
- And I select the *Sync channel* option
- Then I see *Sync resources* modal window
- When I activate the *Titles and descriptions* checkbox
+ Given there is a new version of the resource file in
+ And I am at the *Sync resources* modal window
+ When I select the *Titles and descriptions* checkbox
And click the *Continue* button
Then I see the *Confirm sync* modal
When I click *Sync*
- Then I see the *Syncing channel* modal
- And I see the progress bar
- When I see the *Operation complete!* message
- And I click the *Refresh button*
- Then I see the new title and description of the
+ Then the modal closes
+ When after a period of time I refresh the page
+ And inspect the updated resource(s)
+ Then I can see that any changes made to the original resource(s) details are synced correctly (titles and descriptions)
Scenario: Sync assessment resource details
- Given the is an assessment type (exercise)
- And it has new questions, answers or hints in the
- When I click on the *···* button in the top-right corner
- And I select the *Sync channel* option
- Then I see *Sync resources* modal window
- When I activate the *Assessment details* checkbox
+ Given there is a new version of the resource file in
+ And I am at the *Sync resources* modal window
+ When I select the *Assessment details* checkbox
And click the *Continue* button
Then I see the *Confirm sync* modal
When I click *Sync*
- Then I see the *Syncing channel* modal
- And I see the progress bar
- When I see the *Operation complete!* message
- And I click the *Refresh button*
- Then I see the new questions, answers or hints in the
+ Then the modal closes
+ When after a period of time I refresh the page
+ And inspect the updated resource(s)
+ Then I can see that any changes made to the original resource(s) details are synced correctly (questions, answers, and hints in exercises and quizzes)
Scenario: Edited resource metadata is reverted after syncing
- Given I have edited some metadata (title, description or tags) after importing from
- When I click on the *···* button in the top-right corner
- And I select the *Sync channel* option
- Then I see *Sync resources* modal window
- When I activate the *Tags* or *Titles and descriptions* checkbox
+ Given I have edited some of the resource's metadata (title, description or tags) after importing from
+ And I am at the *Sync resources* modal window
+ When I select the *Resource details* or *Titles and descriptions* checkbox
And click the *Continue* button
Then I see the *Confirm sync* modal
When I click *Sync*
- Then I see the *Syncing channel* modal
- And I see a progress bar
- When I see the *Operation complete!* message
- And I click the *Refresh button*
- Then I see that my edits of title, description or tags for the have been reverted to reflect those on the
-
- Examples:
- | channel_a | channel_b | resource |
+ Then the modal closes
+ When after a period of time I refresh the page
+ And inspect the updated resource
+ Then I see that my previous edits of the title, description or tags for the resource have been reverted to reflect those on the
diff --git a/integration_testing/features/manage-collections/create-a-collection.feature b/integration_testing/features/manage-collections/create-a-collection.feature
deleted file mode 100755
index 1c3096f61c..0000000000
--- a/integration_testing/features/manage-collections/create-a-collection.feature
+++ /dev/null
@@ -1,39 +0,0 @@
-Feature: Create a collection
-
- Background:
- Given I am signed in to Studio
- And I am on the *Collections* tab
-
- Scenario: Create an empty collection
- When I click the *New collection* button
- And I fill in the *Collection name* field
- And I click the *Create* button
- Then I see the *Collections* tab
- And I see the newly created collection
-
- Scenario: Create a collection by selecting channels
- When I click the *New collection* button
- And I click the *Select channels* button
- Then I see the *Select channels* page
- And I am on the *Content library* tab # alternatively I can select the *My channels* or *View-only* tab
- When I select one or several channels
- And I click the *Finish* button
- Then I see the the *New collection* screen with the selected channels
- When I click the *Create* button
- Then I see the *Collections* tab
- And I see the newly created collection
- And I see the number of channels in that collection
-
- Scenario: Create a collection by searching for channels
- When I click the *New collection* button
- And I click the *Select channels* button
- Then I see the *Select channels* page
- And I am on the *Content library* tab # alternatively I can select the *My channels* or *View-only* tab
- When I enter a search term in the *Search for a channel* field
- And I select one or several channels
- And I click the *Finish* button
- Then I see the the *New collection* screen with the selected channels
- When I click the *Create* button
- Then I see the *Collections* tab
- And I see the newly created collection
- And I see the number of channels in that collection
diff --git a/integration_testing/features/manage-collections/delete-a-collection.feature b/integration_testing/features/manage-collections/delete-a-collection.feature
deleted file mode 100755
index 361b2a907d..0000000000
--- a/integration_testing/features/manage-collections/delete-a-collection.feature
+++ /dev/null
@@ -1,14 +0,0 @@
-Feature: Delete a collection
-
- Background:
- Given I am signed in to Studio
- And I am on the *Collections* tab
- And there is at least one collection
-
- Scenario: Delete a collection
- When I click the *Options* drop-down for the collection I want to edit
- And I select the *Delete collection* option
- Then I see the *Delete collection* modal window
- When I click the *Delete collection* button
- Then I see the *Collections* tab
- And I see that the deleted collection is no longer displayed
diff --git a/integration_testing/features/manage-collections/edit-a-collection.feature b/integration_testing/features/manage-collections/edit-a-collection.feature
deleted file mode 100755
index b0ba1680ca..0000000000
--- a/integration_testing/features/manage-collections/edit-a-collection.feature
+++ /dev/null
@@ -1,23 +0,0 @@
-Feature: Edit a collection
-
- Background:
- Given I am signed in to Studio
- And I am on the *Collections* tab
- And there is at least one collection
-
- Scenario: Edit a collection
- When I click the *Options* drop-down for the collection I want to edit
- And I select the *Edit collection* option
- Then I see the collection's details
- And I can change the collection name
- When I click the *Select channels* button
- Then I am on the *Content library* tab # alternatively I can select the *My channels* or *View-only* tab
- When I select one or several channels
- And I click the *Finish* button
- Then I see the the *New collection* screen with the selected channels
- When I click the *Remove* button
- Then I see a message *Channel removed*
- When I click the *Save and close* button
- Then I see the *Collections* tab
- And I see the edited collection
- And I see the number of channels in that collection
diff --git a/integration_testing/features/manage-collections/manage-collections.feature b/integration_testing/features/manage-collections/manage-collections.feature
new file mode 100755
index 0000000000..ae1fcdb9d9
--- /dev/null
+++ b/integration_testing/features/manage-collections/manage-collections.feature
@@ -0,0 +1,71 @@
+Feature: Manage collections
+
+ Background:
+ Given I am signed in to Studio
+ And I am at the *Collections* page
+
+ Scenario: Create an empty collection
+ When I click the *New collection* button
+ And I fill in the *Collection name* field
+ And I click the *Create* button
+ Then I see the *Collections* tab
+ And I see the newly created collection
+ And I see that the number of channels is 0
+
+ Scenario: Create a collection by selecting channels
+ When I click the *New collection* button
+ And I click the *Select channels* button
+ Then I see the *Select channels* page
+ And I am on the *Content library* tab # alternatively I can select *My channels* or the *View-only* tab
+ When I select one or several channels
+ And I click the *Finish* button
+ Then I see the the *New collection* screen with the added channels
+ When I click the *Create* button
+ Then I see the *Collections* tab
+ And I see the newly created collection
+ And I see the correct number of channels in that collection
+
+ Scenario: Create a collection by searching for channels
+ When I click the *New collection* button
+ And I click the *Select channels* button
+ Then I see the *Select channels* page
+ And I am on the *Content library* tab # alternatively I can select the *My channels* or *View-only* tab
+ When I enter a search term in the *Search for a channel* field
+ And I select one or several channels
+ And I click the *Finish* button
+ Then I see the *New collection* screen with the selected channels
+ When I click the *Create* button
+ Then I see the *Collections* tab
+ And I see the newly created collection
+ And I see the correct number of channels in that collection
+
+ Scenario: Edit a collection
+ When I click the *Options* drop-down for the collection I want to edit
+ And I select the *Edit collection* option
+ Then I see the collection's details
+ And I can change the collection name
+ When I click the *Select channels* button
+ Then I am on the *Content library* tab # alternatively I can select the *My channels* or *View-only* tab
+ When I select one or several channels
+ And I click the *Finish* button
+ Then I see the the *New collection* screen with the selected channels
+ When I click the *Remove* button
+ Then I see a *Channel removed* snackbar message
+ When I click the *Save and close* button
+ Then I see the *Collections* tab
+ And I see the edited collection
+ And I see the number of channels in that collection
+
+ Scenario: Delete a collection
+ When I click the *Options* drop-down for the collection I want to edit
+ And I select the *Delete collection* option
+ Then I see the *Delete collection* modal window
+ When I click the *Delete collection* button
+ Then I see the *Collections* tab
+ And I see that the deleted collection is no longer displayed
+
+ Scenario: Learn about collections
+ When I click the *Learn about collections* link
+ Then I see the *About collections* modal
+ And I see the following info text: A collection contains multiple Kolibri Studio channels that can be imported at one time to Kolibri with a single collection token. You can make a collection by selecting the channels you want to be imported together. You will need Kolibri version 0.12.0 or higher to import channel collections
+ When I click the *Close* button
diff --git a/integration_testing/features/manage-resources/clipboard/expand-and-collapse-clipboard-folders.feature b/integration_testing/features/manage-resources/copy-resources/clipboard/expand-and-collapse-clipboard-folders.feature
similarity index 100%
rename from integration_testing/features/manage-resources/clipboard/expand-and-collapse-clipboard-folders.feature
rename to integration_testing/features/manage-resources/copy-resources/clipboard/expand-and-collapse-clipboard-folders.feature
diff --git a/integration_testing/features/manage-resources/clipboard/go-to-resource-original-location.feature b/integration_testing/features/manage-resources/copy-resources/clipboard/go-to-resource-original-location.feature
similarity index 100%
rename from integration_testing/features/manage-resources/clipboard/go-to-resource-original-location.feature
rename to integration_testing/features/manage-resources/copy-resources/clipboard/go-to-resource-original-location.feature
diff --git a/integration_testing/features/manage-resources/clipboard/preview-resource-in-clipboard.feature b/integration_testing/features/manage-resources/copy-resources/clipboard/preview-resource-in-clipboard.feature
similarity index 100%
rename from integration_testing/features/manage-resources/clipboard/preview-resource-in-clipboard.feature
rename to integration_testing/features/manage-resources/copy-resources/clipboard/preview-resource-in-clipboard.feature
diff --git a/integration_testing/features/manage-resources/clipboard/remove-from-clipboard-via-right-click.feature b/integration_testing/features/manage-resources/copy-resources/clipboard/remove-from-clipboard-via-right-click.feature
similarity index 100%
rename from integration_testing/features/manage-resources/clipboard/remove-from-clipboard-via-right-click.feature
rename to integration_testing/features/manage-resources/copy-resources/clipboard/remove-from-clipboard-via-right-click.feature
diff --git a/integration_testing/features/manage-resources/clipboard/remove-from-clipboard-via-selection-bar.feature b/integration_testing/features/manage-resources/copy-resources/clipboard/remove-from-clipboard-via-selection-bar.feature
similarity index 100%
rename from integration_testing/features/manage-resources/clipboard/remove-from-clipboard-via-selection-bar.feature
rename to integration_testing/features/manage-resources/copy-resources/clipboard/remove-from-clipboard-via-selection-bar.feature
diff --git a/integration_testing/features/manage-resources/clipboard/remove-multiple-resources-from-the-clipboard.feature b/integration_testing/features/manage-resources/copy-resources/clipboard/remove-multiple-resources-from-the-clipboard.feature
similarity index 100%
rename from integration_testing/features/manage-resources/clipboard/remove-multiple-resources-from-the-clipboard.feature
rename to integration_testing/features/manage-resources/copy-resources/clipboard/remove-multiple-resources-from-the-clipboard.feature
diff --git a/integration_testing/features/manage-resources/clipboard/undo-removal-of-clipboard-resources.feature b/integration_testing/features/manage-resources/copy-resources/clipboard/undo-removal-of-clipboard-resources.feature
similarity index 100%
rename from integration_testing/features/manage-resources/clipboard/undo-removal-of-clipboard-resources.feature
rename to integration_testing/features/manage-resources/copy-resources/clipboard/undo-removal-of-clipboard-resources.feature
diff --git a/integration_testing/features/manage-resources/delete-resources.feature b/integration_testing/features/manage-resources/delete-resources.feature
index 586ed11033..c6bb9c3d1b 100755
--- a/integration_testing/features/manage-resources/delete-resources.feature
+++ b/integration_testing/features/manage-resources/delete-resources.feature
@@ -2,26 +2,31 @@ Feature: Delete resources permanently
Background:
Given I am signed in to Studio
- And I am on the channel editor page
- And I have one removed resource from my channel editor tree
+ And I am at the channel editor page
+ And I have removed at least one resource from my channel editor tree
+ And I am at the *Trash* page
Scenario: Delete a single resource permanently
- When I click the *Trash* button in the top appbar
- Then I see one resource removed from my channel
- When I select that resource
- And I click *Delete* in the bottom bar
- Then I see a warning message appear
+ When I select a resource
+ And I click the *Delete* button
+ Then I see the *Permanently delete 0 folders, 1 resource?* modal
When I click the *Delete permanently* button
- Then the selection disappear from the list
- And a snackbar appears to confirm the deletion
- And I see an empty state message
+ Then the selected resource is removed from the list
+ And I see a *Permanently deleted* snackbar message
Scenario: Delete multiple resources permanently
- When I click the *Trash* button in the top appbar
- Then I see a list of resources removed from my channel
- When I select multiple resources from the list
- And I click *Delete* in the bottom bar
- Then I see a warning message appear
+ When I select several resources (and/or folders)
+ And I click the *Delete* button
+ Then I see the *Permanently delete N folder(s), N resource(s)?* modal
When I click the *Delete permanently* button
- Then the selections disappear from the list
- And a snackbar appears to confirm the deletion of multiple resources
+ Then the selected resources are removed from the list
+ And I see a *Permanently deleted* snackbar message
+
+ Scenario: Delete all resources permanently
+ When I select all resources (and/or folders)
+ And I click the *Delete* button
+ Then I see the *Permanently delete N folder(s), N resource(s)?* modal
+ When I click the *Delete permanently* button
+ Then the selected resources are removed from the list
+ And I see a *Permanently deleted* snackbar message
+ And I see *Trash is empty Resources removed from this channel will appear here*
diff --git a/integration_testing/features/manage-resources/go-back-from-review-import-selections-to-channel-list.feature b/integration_testing/features/manage-resources/go-back-from-review-import-selections-to-channel-list.feature
deleted file mode 100755
index bbb5efbed6..0000000000
--- a/integration_testing/features/manage-resources/go-back-from-review-import-selections-to-channel-list.feature
+++ /dev/null
@@ -1,19 +0,0 @@
-Feature: Go back from Review selections for import to channel list
-
- Background:
- Given I am signed in to Studio
- And I am on *My Channels > edit* page
-
- Scenario: Go back from Review selections for import to channel list
- When I click the *Add* button
- And I select the *Import from Channels* option
- Then I see the *Import from Other Channels* page
- When I select a from the public channels
- And I click the *Review* button
- Then I see the *Review selections for import* modal
- When I click the *Back* link
- Then I see *Import from Other Channels* page again
- And I see the *0 topics, 0 resource* at the bottom of the modal
-
- Examples:
- | resource |
diff --git a/integration_testing/features/manage-resources/manage-folders/set-up-empty-folder-tree.feature b/integration_testing/features/manage-resources/manage-folders.feature
similarity index 53%
rename from integration_testing/features/manage-resources/manage-folders/set-up-empty-folder-tree.feature
rename to integration_testing/features/manage-resources/manage-folders.feature
index 769d76ecda..0c2228e2ae 100755
--- a/integration_testing/features/manage-resources/manage-folders/set-up-empty-folder-tree.feature
+++ b/integration_testing/features/manage-resources/manage-folders.feature
@@ -1,8 +1,19 @@
-Feature: Set up empty folder tree
+Feature: Manage folders
Background:
Given I am signed in to Studio
- And I am on the channel editor page for an empty channel
+ And I am at the channel editor page
+
+ Scenario: Create a folder
+ When I click the *Add* button in the top right corner
+ And I click the *New folder* option
+ Then I see the *New folder* modal
+ When I fill in the required field *Title*
+ And I fill in any of the other fields such as *Description*, *Tags* and *Language* (optional)
+ And I add a thumbnail image (optional)
+ And I click the *Finish* button
+ Then I am back at the channel editor page
+ And I can see the newly created folder
Scenario: Create an empty folder tree
When I click the *Add* button in the top right corner
@@ -10,9 +21,9 @@ Feature: Set up empty folder tree
Then I see the *New folder* modal
When I fill in the required fields
And I click the *Add new folder* button
- Then I can fill in the required fields for a new folder #repeat this process for as many empty folders you need
+ Then I can fill in the required fields for a new folder #repeat this process for as many empty folders as you need
When I click the *Finish* button
- Then I am on the channel editor page
+ Then I am at the channel editor page
And I can see the empty folders
Scenario: Create sub-folders
@@ -22,7 +33,7 @@ Feature: Set up empty folder tree
Then I see the *New folder* modal
When I fill in the required fields
And I click the *Add new folder* button
- Then I can fill in the required fields for a new folder #repeat this process for as many empty folders you need
+ Then I can fill in the required fields for a new folder #repeat this process for as many empty folders as you need
When I click the *Finish* button
- Then I am on the channel editor page
+ Then I am at the channel editor page
And I can click on the folder to see the created sub-folders
diff --git a/integration_testing/features/manage-resources/manage-folders/create-a-folder.feature b/integration_testing/features/manage-resources/manage-folders/create-a-folder.feature
deleted file mode 100755
index 18394b56c8..0000000000
--- a/integration_testing/features/manage-resources/manage-folders/create-a-folder.feature
+++ /dev/null
@@ -1,16 +0,0 @@
-Feature: Create a folder
-
- Background:
- Given I am signed in to Studio
- And I am on the channel editor page
-
- Scenario: Create a folder
- When I click the *Add* button in the top right corner
- And I click the *New folder* option
- Then I see the *New folder* modal
- When I fill in the required field *Title*
- And I fill in any of the other fields such as *Description*, *Tags* and *Language*
- And I add a thumbnail image
- And I click the *Finish* button
- Then I am on the channel editor page
- And I can see the newly created folder
diff --git a/integration_testing/features/manage-resources/upload-files.feature b/integration_testing/features/manage-resources/upload-files.feature
index 852418b6dd..05a0679397 100755
--- a/integration_testing/features/manage-resources/upload-files.feature
+++ b/integration_testing/features/manage-resources/upload-files.feature
@@ -3,20 +3,64 @@ Feature: Upload files
Background:
Given I am signed in to Studio
- And I am on the channel editor page
+ And I am at the channel editor page
- Scenario: Upload files
+ Scenario: Upload a single supported file
When I click the *Add* button
And I select the *Upload files* option
Then I see the *Upload files* modal
- And I see the *Total storage used* value
- And I can see which are the supported file types: mp3, pdf, epub, mp4, webm, zip
+ And I see the *Total storage used: N MB of N MB* progress bar
+ And I can see which are the supported file types: mp3, bloompub, bloomd, pdf, epub, h5p, mp4, webm, zip, kpub
When I click the *Select files* button
Then I see a file explorer window
- And I can select one or several supported files for upload
- When I click the *Open* button
+ When I select a supported file for upload
+ And I click the *Open* button
Then I see the *Edit files* modal
When I fill in all the required fields
And I click the *Finish* button
+ Then I am returned to the main topic tree view
+ And I can see the uploaded file
+
+ Scenario: Upload multiple supported files
+ Given I am at the *Upload files* modal
+ When I click the *Select files* button
+ Then I see a file explorer window
+ When I select several supported files for upload
+ And I click the *Open* button
+ Then I see the *Edit files* modal
+ When I fill in all the required fields for each file
+ And I click the *Finish* button
Then I am returned to the main topic tree view
And I can see the uploaded files
+
+ Scenario: Upload more files
+ Given I am at the *Edit files* modal after having imported some files
+ When I click the *Upload more* button
+ Then I see a file explorer window
+ When I select several supported files for upload
+ And I click the *Open* button
+ Then I see the *Edit files* modal
+ When I fill in all the required fields for each file
+ And I click the *Finish* button
+ Then I am returned to the main topic tree view
+ And I can see the uploaded files
+
+ Scenario: Upload more files by drag and drop
+ Given I am at the *Edit files* modal after having imported some files
+ When I drag and drop files
+ Then I see the *Edit files* modal
+ When I fill in all the required fields for each file
+ And I click the *Finish* button
+ Then I am returned to the main topic tree view
+ And I can see the uploaded files
+
+ Scenario: Cancel the file upload
+ Given I am at the *Edit files* modal after having imported some files
+ When I hover over the title of a file
+ And I click the *X* icon
+ Then the file is removed
+ When I do the same for each uploaded file
+ Then I am back at the *Upload files* modal
+ When I close the modal
+ Then I am returned to the main topic tree view
+ And I can see the uploaded files are not present
diff --git a/integration_testing/features/studio-critical-workflows.feature b/integration_testing/features/studio-critical-workflows.feature
index 73d2bba978..a303b31dfd 100644
--- a/integration_testing/features/studio-critical-workflows.feature
+++ b/integration_testing/features/studio-critical-workflows.feature
@@ -193,17 +193,19 @@ Feature: Studio critical workflows
And I am at the channel editor page for
And there is a resource in the that has been imported from
And there is new version of the resource file in the
- When I click on the *···* button in the top-right corner
+ When I click the *···* button in the top-right corner
And I select the *Sync resources* option
Then I see *Sync resources* modal window
+ And I see options to sync files, resource details, titles and description, assessment details
When I select any of the available checkboxes
And I click the *Continue* button
Then I see the *Confirm sync* modal
+ And I see a list with the options I've selected
When I click *Sync*
Then the modal closes
- When I after a period of time I refresh the page
- And click on the updated resource
- Then I can see that it's updated with any changes made to the original resource file
+ When after a period of time I refresh the page
+ And inspect the updated resource(s)
+ Then I can see that any changes made to the original resource(s) are synced correctly
Scenario: Quick edit the fields of multiple resources
Given I am signed in to Studio
From c6a66167d4fee5703102e983491d32566b43c3a9 Mon Sep 17 00:00:00 2001
From: Peter Cenov
Date: Fri, 16 May 2025 18:02:38 +0300
Subject: [PATCH 07/12] updates
---
.../edit-resource-details.feature | 7 +-
...mport-content-from-another-channel.feature | 25 -------
.../import-content-from-channels.feature | 68 +++++++++++++++++
...h-results-at-my-channels-channel-2.feature | 21 ------
...rch-results-at-my-channels-channel.feature | 24 ------
.../{ => import}/search-for-resources.feature | 11 +--
.../view-resource-details.feature | 0
.../remove-resource-from-channel.feature | 75 ++++++++++---------
.../resource-count-updates-properly.feature | 19 -----
.../restore-resources-from-trash.feature | 65 ++++++----------
...ew-import-selection-at-my-channels.feature | 17 -----
11 files changed, 134 insertions(+), 198 deletions(-)
rename integration_testing/features/manage-resources/{ => edit-modal}/edit-resource-details.feature (65%)
delete mode 100755 integration_testing/features/manage-resources/import/import-content-from-another-channel.feature
create mode 100755 integration_testing/features/manage-resources/import/import-content-from-channels.feature
delete mode 100755 integration_testing/features/manage-resources/import/import-from-search-results-at-my-channels-channel-2.feature
delete mode 100755 integration_testing/features/manage-resources/import/import-from-search-results-at-my-channels-channel.feature
rename integration_testing/features/manage-resources/{ => import}/search-for-resources.feature (84%)
rename integration_testing/features/manage-resources/{ => move-resources}/view-resource-details.feature (100%)
delete mode 100755 integration_testing/features/manage-resources/resource-count-updates-properly.feature
delete mode 100755 integration_testing/features/manage-resources/review-import-selection-at-my-channels.feature
diff --git a/integration_testing/features/manage-resources/edit-resource-details.feature b/integration_testing/features/manage-resources/edit-modal/edit-resource-details.feature
similarity index 65%
rename from integration_testing/features/manage-resources/edit-resource-details.feature
rename to integration_testing/features/manage-resources/edit-modal/edit-resource-details.feature
index da035bcb0c..6218fcac38 100755
--- a/integration_testing/features/manage-resources/edit-resource-details.feature
+++ b/integration_testing/features/manage-resources/edit-modal/edit-resource-details.feature
@@ -2,14 +2,15 @@ Feature: Edit resource details
Background:
Given I am signed in to Studio
- And I am on the channel editor page
+ And I am at the channel editor page
+ And there are available resources
Scenario: Edit details
When I click the *⋮* (Options) button for a resource
And I click the *Edit details* option
Then I see the *Edit details* window
- And I can edit different properties of the resource such as - *Basic information*, *Thumbnail*, *Audience*, *Source* etc.
+ And I can edit different properties of the resource such as - *Title*, *Description*, *Learning activity*, *Thumbnail*, *Audience*, *Source* etc.
When I modify any of the details
Then I see a message: *Changes saved*
When I click the *Finish* button
- Then I am returned at the main topic tree view
+ Then I am back at the main topic tree view
diff --git a/integration_testing/features/manage-resources/import/import-content-from-another-channel.feature b/integration_testing/features/manage-resources/import/import-content-from-another-channel.feature
deleted file mode 100755
index c872c8b796..0000000000
--- a/integration_testing/features/manage-resources/import/import-content-from-another-channel.feature
+++ /dev/null
@@ -1,25 +0,0 @@
-Feature: Import content from another channel
-
- Background:
- Given I am signed in to Studio
- And I am on the editing page
-
- Scenario: Import content from another channel
- When I click the *Add* button
- And I select the *Import from Channels* option
- Then I see the *Import from Other Channels* page
- And I see a list of channels that I have access to
- When I expand which I have access to
- And select some content under
- And press *Review* button
- Then I see the review screen
- When I finish reviewing my selections
- And I press *Import* button
- Then I see the *Copying content* modal which displays the import progress
- And I don't see the *Import from Other channels* page
- And I see the editing page again
-
-#Import content from an available/accessible channel
-
- Examples:
- | channel |
diff --git a/integration_testing/features/manage-resources/import/import-content-from-channels.feature b/integration_testing/features/manage-resources/import/import-content-from-channels.feature
new file mode 100755
index 0000000000..7791414908
--- /dev/null
+++ b/integration_testing/features/manage-resources/import/import-content-from-channels.feature
@@ -0,0 +1,68 @@
+Feature: Import content from another channel
+
+ Background:
+ Given I am signed in to Studio
+ And I am on the editing page
+
+ Scenario: Import content from another channel
+ When I click the *Add* button
+ And I select the *Import from Channels* option
+ Then I see the *Import from Other Channels* page
+ And I see a list of channels that I have access to
+ When I expand which I have access to
+ And select some content under
+ And press *Review* button
+ Then I see the review screen
+ When I finish reviewing my selections
+ And I press *Import* button
+ Then I see the *Copying content* modal which displays the import progress
+ And I don't see the *Import from Other channels* page
+ And I see the editing page again
+
+ Scenario: Import content from the search results
+ When I click the *Add* button
+ And I select the *Import from Channels* option
+ Then I see the *Import from Other Channels* page
+ When I enter the in the search bar
+ And I click the *Search* button
+ Then I see all the search results for my
+ When I select a from the results
+ And I click the *Review* button
+ Then I see the *Review selections for import* modal
+ When I click the *Import* button
+ Then I see *Copying Content* modal
+ And I see the *Operation is complete!...* notification
+ When I click the *Refresh* button
+ Then I see the imported in the
+
+ Scenario: Import content from the search results at *My Channels*
+ When I click the *Add* button
+ And I select the *Import from Channels* option
+ Then I see the *Import from Other Channels* modal
+ When I select a and a from the public channels
+ And I click the *Review* button
+ Then I see the *Review selections for import* page
+ When I click the arrow button to open the topic tree for
+ Then I see all the resources of the topic
+ When I click the *Import* button
+ Then I see *Copying Content* modal
+
+ Scenario: Resource count gets updated properly
+ When I click the *Add* button
+ And I select the *Import from channels* option
+ Then I see the *Import from other channels* page
+ When I select the from
+ Then I see the *N topics, '' resources* notification at the bottom
+ When I select a single
+ Then I see the *N topics, '+1' resources* notification at the bottom
+ When I deselect the
+ Then I see the *0 topics, 1 resource* notification at the bottom of the page
+
+ Scenario: Review import selection at *My Channels*
+ Given I click the *Add* button
+ Then I see *Import from Channels* button
+ When I click the *Import from Channels* button
+ Then I see the *Import from Other Channels* page
+ When I select contents
+ And I click *Review* button
+ Then I see the list of contents I selected
\ No newline at end of file
diff --git a/integration_testing/features/manage-resources/import/import-from-search-results-at-my-channels-channel-2.feature b/integration_testing/features/manage-resources/import/import-from-search-results-at-my-channels-channel-2.feature
deleted file mode 100755
index 9ba661c465..0000000000
--- a/integration_testing/features/manage-resources/import/import-from-search-results-at-my-channels-channel-2.feature
+++ /dev/null
@@ -1,21 +0,0 @@
-Feature: Import content from the search results at *My Channels*
-
- Background:
- Given I am already a registered user
- And I am signed in to Studio
- And I am on *My Channels > edit* page
-
- Scenario: Import content from the search results at *My Channels*
- When I click the *Add* button
- And I select the *Import from Channels* option
- Then I see the *Import from Other Channels* modal
- When I select a and a from the public channels
- And I click the *Review* button
- Then I see the *Review selections for import* page
- When I click the arrow button to open the topic tree for
- Then I see all the resources of the topic
- When I click the *Import* button
- Then I see *Copying Content* modal
-
- Examples:
- | channel | topic | resource |
diff --git a/integration_testing/features/manage-resources/import/import-from-search-results-at-my-channels-channel.feature b/integration_testing/features/manage-resources/import/import-from-search-results-at-my-channels-channel.feature
deleted file mode 100755
index 221feafb66..0000000000
--- a/integration_testing/features/manage-resources/import/import-from-search-results-at-my-channels-channel.feature
+++ /dev/null
@@ -1,24 +0,0 @@
-Feature: Import content from the search results
-
- Background:
- Given I am signed in to Studio
- And I am on the editing page
-
- Scenario: Import content from the search results
- When I click the *Add* button
- And I select the *Import from Channels* option
- Then I see the *Import from Other Channels* page
- When I enter the in the search bar
- And I click the *Search* button
- Then I see all the search results for my
- When I select a from the results
- And I click the *Review* button
- Then I see the *Review selections for import* modal
- When I click the *Import* button
- Then I see *Copying Content* modal
- And I see the *Operation is complete!...* notification
- When I click the *Refresh* button
- Then I see the imported in the
-
- Examples:
- | channel | search_term | resource |
diff --git a/integration_testing/features/manage-resources/search-for-resources.feature b/integration_testing/features/manage-resources/import/search-for-resources.feature
similarity index 84%
rename from integration_testing/features/manage-resources/search-for-resources.feature
rename to integration_testing/features/manage-resources/import/search-for-resources.feature
index 4279dff09f..b199005729 100755
--- a/integration_testing/features/manage-resources/search-for-resources.feature
+++ b/integration_testing/features/manage-resources/import/search-for-resources.feature
@@ -2,10 +2,10 @@ Feature: Search for resources
Background:
Given I am signed in to Studio
- And I am on the editing page
+ And I am at the channel editing page
When I click the *Add* button
- And I select the *Import from Channels* option
- Then I see the *Import from Other Channels* modal
+ And I select the *Import from channels* option
+ Then I see the *Import from other channels* modal
Scenario: Search for resources from the *Content library*
When I enter a in the search bar # *Content library* is selected by default in the *Channels* drop-down
@@ -35,8 +35,3 @@ Feature: Search for resources
And I select a from the *Language* drop-down
And I click the *Search* button
Then I see search results only from channels in the selected
-
-
- Examples:
- | channel | search_term | language |
- | CK-12 | addition | English (en) |
diff --git a/integration_testing/features/manage-resources/view-resource-details.feature b/integration_testing/features/manage-resources/move-resources/view-resource-details.feature
similarity index 100%
rename from integration_testing/features/manage-resources/view-resource-details.feature
rename to integration_testing/features/manage-resources/move-resources/view-resource-details.feature
diff --git a/integration_testing/features/manage-resources/remove-resource-from-channel.feature b/integration_testing/features/manage-resources/remove-resource-from-channel.feature
index 220875a50e..ea16ccdf6a 100755
--- a/integration_testing/features/manage-resources/remove-resource-from-channel.feature
+++ b/integration_testing/features/manage-resources/remove-resource-from-channel.feature
@@ -1,54 +1,55 @@
-Feature: Remove a topic or a resource from a channel
+Feature: Remove a folder or a resource from a channel
Background:
Given I am signed in to Studio
- And I am on the editor page
- And I have edit permissions for
-
- Scenario: Remove a topic from *···* (more options)
- When I hover over a topic
- And I click on a *···* button for more options
- Then I can see the *Remove* option
- When I select the *Remove* option
+ And I am at the channel editor page
+ And I have edit permissions for the channel>
+
+ Scenario: Remove a folder through the *···* (Options) menu
+ When I hover over a folder
+ And I click on the *···* (Options) button
+ And I select the *Remove* option
Then I can see the *Sent to trash* snackbar notification
And I see the *Undo* button
- And I don't see the topic anymore
- When I click the *Undo* button
- Then I can see the topic again
+ And I no longer see the folder
- Scenario: Remove a resource from *···* (more options)
- When I hover over a resource
- And I click on a *···* button for more options
- Then I can see the *Remove* option
- When I select the *Remove* option
- Then I can see the *Sent to trash* snackbar notification
+ Scenario: Undo the removal of a folder
+ Given I've just removed a folder
+ And I see the *Sent to trash* snackbar notification
And I see the *Undo* button
- And I don't see the resource anymore
When I click the *Undo* button
- Then I can see the resource again
+ Then I can see the folder again
- Scenario: Remove a topic from toolbar
- When I check the topic checkbox
- Then I see the toolbar options for topic
- When I click the *Delete selected items* button
+ Scenario: Remove a resource through the *···* (Options) menu
+ When I hover over a resource
+ And I click on the *···* (Options) button
+ And I select the *Remove* option
Then I can see the *Sent to trash* snackbar notification
And I see the *Undo* button
- And I don't see the topic anymore
+ And I no longer see the resource
+
+ Scenario: Undo the removal of a resource
+ Given I've just removed a resource
+ And I see the *Sent to trash* snackbar notification
+ And I see the *Undo* button
When I click the *Undo* button
- Then I can see the topic again
+ Then I can see the resource again
- Scenario: Remove a resource from toolbar
- When I hover over a resource checkbox
- Then I see the toolbar options for resource
- When I click the *Delete selected items* button
+ Scenario: Remove a folder through the toolbar
+ When I select a folder's checkbox
+ Then I see the toolbar options for the folder
+ When I click the *Remove* button
Then I can see the *Sent to trash* snackbar notification
And I see the *Undo* button
- And I don't see the resource anymore
- When I click the *Undo* button
- Then I can see the resource again
+ And I no longer see the folder
- Scenario: Remove multiple topics or resources
- # same as for single resources, just the snackbar notification indicates the number of items to remove
+ Scenario: Remove a resource through the toolbar
+ When I select a resource's checkbox
+ Then I see the toolbar options for the resource
+ When I click the *Remove* button
+ Then I can see the *Sent to trash* snackbar notification
+ And I see the *Undo* button
+ And I no longer see the resource
- Examples:
- | channel | topic | resource |
+ Scenario: Remove multiple folders or resources
+ # same as for single folder and resources, just the snackbar notification indicates the number of items to remove
diff --git a/integration_testing/features/manage-resources/resource-count-updates-properly.feature b/integration_testing/features/manage-resources/resource-count-updates-properly.feature
deleted file mode 100755
index e6193f0626..0000000000
--- a/integration_testing/features/manage-resources/resource-count-updates-properly.feature
+++ /dev/null
@@ -1,19 +0,0 @@
-Feature: Resource count gets updated properly
-
- Background:
- Given I am signed in to Studio
- And I am on the editing page
-
- Scenario: Resource count gets updated properly
- When I click the *Add* button
- And I select the *Import from Channels* option
- Then I see the *Import from Other Channels* page
- When I select the from
- Then I see the *N topics, '' resources* notification at the bottom
- When I select a single
- Then I see the *N topics, '+1' resources* notification at the bottom
- When I deselect the
- Then I see the *0 topics, 1 resource* notification at the bottom of the page
-
- Examples:
- | channel | topic | import_channel | resource |
diff --git a/integration_testing/features/manage-resources/restore-resources-from-trash.feature b/integration_testing/features/manage-resources/restore-resources-from-trash.feature
index a4b42624b0..ce3b55061a 100755
--- a/integration_testing/features/manage-resources/restore-resources-from-trash.feature
+++ b/integration_testing/features/manage-resources/restore-resources-from-trash.feature
@@ -2,51 +2,28 @@ Feature: Restore resources from trash
Background:
Given I am signed in to Studio
- And I am on the editing page
+ And I am at the channel editing page
+ And I have already removed some resources
+ And I have opened the trash page
Scenario: Restore a single resource from trash to a channel
- When I click the *Trash* button
- Then I see the *Managing deleted content* modal
- And I see all the deleted resources in the modal
- When I select the resource
- Then I see the *Restore Selected* button is active
- When I click the *Restore Selected* button
- Then I see the *Moving Content* modal
- When I select the channel as a restore destination
- And I click the *Move* button
- Then I see the *Moving 1 resource to * notification
- When I click the arrow button to open the topic tree
- And I select the topic
- Then I see the *Moving 1 resource to * notification
- When I click *Move* button again
- Then I see the *Managing deleted content* modal again
- When I click the *Close* button
- And I open the topic
- And I reload the page
- #not sure if this is a bug or a feature, but I had to do it
- Then I see the resource restored to the inside the
+ When I select a resource
+ And I click the *Restore* button
+ Then I see the *Move N folders, N resources into: * modal
+ When I select the restore destination
+ And I click the *Move here* button
+ Then I see the *Moved to * snackbar notification
+ And I see a *Go to location* button
+ When I click the *Go to location* button
+ Then I see that the resource is restored in the selected destination
Scenario: Restore multiple resources from trash to a channel
- When I click the *Trash* button
- Then I see the *Managing deleted content* modal
- And I see all the deleted resources in the modal
- When I select the resource
- Then I see the *Restore Selected* button is active
- When I click the *Restore Selected* button
- Then I see the *Moving Content* modal
- When I select the channel as a restore destination
- And I click the *Move* button
- Then I see the *Moving resources to * notification
- When I click the arrow button to open the topic tree
- And I select the topic
- Then I see the *Moving resources to * notification
- When I click *Move* button again
- Then I see the *Managing deleted content* modal again
- When I click the *Close* button
- And I open the topic
- And I reload the page
- #not sure if this is a bug or a feature, but I had to do it
- Then I see the resource restored to the inside the
-
- Examples:
- | channel | resource | number | topic |
+ When I select multiple resources
+ And I click the *Restore* button
+ Then I see the *Move N folders, N resources into: * modal
+ When I select the restore destination
+ And I click the *Move here* button
+ Then I see the *Moved to * snackbar notification
+ And I see a *Go to location* button
+ When I click the *Go to location* button
+ Then I see that the resources are restored in the selected destination
diff --git a/integration_testing/features/manage-resources/review-import-selection-at-my-channels.feature b/integration_testing/features/manage-resources/review-import-selection-at-my-channels.feature
deleted file mode 100755
index 2f05db3f35..0000000000
--- a/integration_testing/features/manage-resources/review-import-selection-at-my-channels.feature
+++ /dev/null
@@ -1,17 +0,0 @@
-Feature: Review import selection at *My Channels*
-
- Background:
- Given I am signed in to Studio
- And I am on *My Channels > edit* page
-
- Scenario: Review import selection at *My Channels*
- Given I click the *Add* button
- Then I see *Import from Channels* button
- When I click the *Import from Channels* button
- Then I see the *Import from Other Channels* page
- When I select contents
- And I click *Review* button
- Then I see the list of contents I selected
-
- Examples:
- | channel |
From 3ecfd1d6142d1a84c5af482ffdc04445f8e93a9c Mon Sep 17 00:00:00 2001
From: Peter Cenov
Date: Tue, 20 May 2025 17:20:29 +0300
Subject: [PATCH 08/12] multiple corrections and updates
---
.../bul-edit-multiple-resources.feature | 115 ++++++++++++++++++
.../manage-resources/create-exercise.feature | 91 +++++++++++---
.../allow-marking-as-complete.feature | 16 ++-
.../edit-accessibility-options.feature | 31 +++--
.../edit-modal/edit-category-field.feature | 4 +-
...ultiple-resources-at-the-same-time.feature | 65 ----------
...e-uploading-or-creating-new-files.feature} | 90 +++++++-------
.../new-layout-in-the-edit-modal.feature | 37 +++---
...tadata-in-previewers-across-studio.feature | 4 +-
9 files changed, 273 insertions(+), 180 deletions(-)
create mode 100755 integration_testing/features/manage-resources/bulk-editing/bul-edit-multiple-resources.feature
delete mode 100755 integration_testing/features/manage-resources/edit-modal/edit-multiple-resources-at-the-same-time.feature
rename integration_testing/features/manage-resources/edit-modal/{new-metadata-defaults-while-uploading-or-creating-new-files.feature => metadata-defaults-while-uploading-or-creating-new-files.feature} (52%)
diff --git a/integration_testing/features/manage-resources/bulk-editing/bul-edit-multiple-resources.feature b/integration_testing/features/manage-resources/bulk-editing/bul-edit-multiple-resources.feature
new file mode 100755
index 0000000000..724020c860
--- /dev/null
+++ b/integration_testing/features/manage-resources/bulk-editing/bul-edit-multiple-resources.feature
@@ -0,0 +1,115 @@
+Feature: Bulk edit multiple resources
+
+ Background:
+ Given I am signed in to Studio
+ And I am at the channel editor page
+ And there are available resources of different types
+
+ Scenario: Bulk edit folders
+ When I select at least 2 folders
+ And I click the *Edit details* icon
+ Then I see the *Edit details* modal for the selected folders
+ And I see that all the folders are selected in the left section
+ And I see the following text at the top: Editing details for N folders, 0 resources
+ And I see the *Basic information* section containing the *Tags* field
+ And I see the *Audience* section with the *Language* drop-down
+ When I enter a new tag
+ And I select a new language
+ And I click the *Finish* button
+ Then I am back at the channel editor
+ When I select again the same folders
+ And I click the *Edit details* icon
+ Then I see the *Edit details* modal for the selected folders
+ And I can see that my previously applied changes are saved
+
+ Scenario: Bulk edit exercises
+ When I select at least 2 exercises
+ And I click the *Edit details* icon
+ Then I see the *Edit details* modal for the selected exercises
+ And I see that all the exercises are selected in the left section
+ And I see the following text at the top: Editing details for 0 folders, N resources
+ And I see the *Basic information* section containing the *Tags* field
+ And I see the *Assessment options* section with the *Randomize question order for learners* checkbox
+ And I see the *Completion* section with the *Allow learners to mark as complete* checkbox, the *Completion* and *Goal* drop-downs
+ And I see the *Audience* section with the *Language* and *Visible to* drop-downs
+ And I see the *Source* section with *Author*, *Provider*, *Aggregator*, *License* and *Copyright* holder fields
+ When I make any modifications
+ And I click the *Finish* button
+ Then I am back at the channel editor
+ When I select again the same exercises
+ And I click the *Edit details* icon
+ Then I see the *Edit details* modal for the selected exercises
+ And I can see that my previously applied changes are saved
+
+ Scenario: Bulk edit resources of the same type
+ When I select at least 2 resources of the same type
+ And I click the *Edit details* icon
+ Then I see the *Edit details* modal for the selected folders
+ And I see that all the folders are selected in the left section
+ And I see the following text at the top: Editing details for N folders, 0 resources
+ And I see the *Basic information* section containing the *Tags* field
+ And I see the *Audience* section with the *Language* drop-down
+ When I enter a new tag
+ And I select a new language
+ And I click the *Finish* button
+ Then I am back at the channel editor
+ When I select again the same folders
+ And I click the *Edit details* icon
+ Then I see the *Edit details* modal for the selected folders
+ And I can see that my previously applied changes are saved
+
+ Scenario: See which fields are hidden and shown
+ When I select more than one checkbox in the resource panel on the left
+ Then I see *Editing details for folders, resources*
+ And I see text fields and dropdown options that are common to all selected resources
+ And I do not see text fields and dropdown options that are not common to all selected resources
+ And I do not see the resource renderer, *Title*, *Description*, *Preview files*, or *Thumbnail*
+
+ Scenario: View mixed settings on a multi-select dropdown #not implemented, don't test
+ When I select checkboxes in the resource panel on the left
+ And those resources have mixed settings across different dropdown fields
+ Then I see a chip with the *Mixed* label for those dropdowns
+ And I see checkboxes are indeterminately selected
+ When I click a dropdown that has the *Mixed* label
+ Then I see an indeterminate checkbox for each option that partially applies to all selected resources
+
+ Scenario: Select an indeterminate checkbox in a multi-select dropdown #not implemented, don't test
+ Given has a *Mixed* chip
+ When I click
+ Then I see