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