From 3b42337d84a67c18134f43e7596ce53bf1baf3ee Mon Sep 17 00:00:00 2001 From: Peter Cenov Date: Wed, 28 Jul 2021 06:06:50 -0700 Subject: [PATCH 1/2] adding several new features for the 0.15 release --- ...formation-explaining-sync-statuses.feature | 6 + ...cted-devices-via-quiz-coach-report.feature | 7 + ...ed-devices-via-the-coach-dashboard.feature | 12 ++ .../learner-learn-mode-only-devices.feature | 5 + ...-different-device-syncing-statuses.feature | 26 +++ ...uper-admin-import-individual-users.feature | 152 ++++++++++++++++++ 6 files changed, 208 insertions(+) create mode 100644 integration_testing/features/coach/coach-can-see-helpful-information-explaining-sync-statuses.feature create mode 100644 integration_testing/features/coach/coach-can-see-sync-statuses-for-connected-devices-via-quiz-coach-report.feature create mode 100644 integration_testing/features/coach/coach-can-see-sync-statuses-for-connected-devices-via-the-coach-dashboard.feature create mode 100644 integration_testing/features/learner/learner-learn-mode-only-devices.feature create mode 100644 integration_testing/features/learner/learner-see-different-device-syncing-statuses.feature create mode 100644 integration_testing/features/super-admin/super-admin-import-individual-users.feature diff --git a/integration_testing/features/coach/coach-can-see-helpful-information-explaining-sync-statuses.feature b/integration_testing/features/coach/coach-can-see-helpful-information-explaining-sync-statuses.feature new file mode 100644 index 00000000000..7f72417f5b9 --- /dev/null +++ b/integration_testing/features/coach/coach-can-see-helpful-information-explaining-sync-statuses.feature @@ -0,0 +1,6 @@ +Feature: Coaches can see helpful information explaining sync statuses + + Scenario: Coaches can see more information regarding sync statuses + Given I see all learner device sync statuses + When I press the *Information about sync statuses* hyperlink + Then I see a modal giving me information on each individual sync status diff --git a/integration_testing/features/coach/coach-can-see-sync-statuses-for-connected-devices-via-quiz-coach-report.feature b/integration_testing/features/coach/coach-can-see-sync-statuses-for-connected-devices-via-quiz-coach-report.feature new file mode 100644 index 00000000000..5b08c25434b --- /dev/null +++ b/integration_testing/features/coach/coach-can-see-sync-statuses-for-connected-devices-via-quiz-coach-report.feature @@ -0,0 +1,7 @@ +Feature: Coaches can see sync statuses for connected devices via a quiz coach report + + Scenario: Coaches can see sync statuses + Given I am on a quiz report + When I press the *View learner devices* hyperlink + Then I see a table with all devices connected to the classroom server + And I see the sync statuses of every connected device diff --git a/integration_testing/features/coach/coach-can-see-sync-statuses-for-connected-devices-via-the-coach-dashboard.feature b/integration_testing/features/coach/coach-can-see-sync-statuses-for-connected-devices-via-the-coach-dashboard.feature new file mode 100644 index 00000000000..5a384a466cf --- /dev/null +++ b/integration_testing/features/coach/coach-can-see-sync-statuses-for-connected-devices-via-the-coach-dashboard.feature @@ -0,0 +1,12 @@ +Feature: Coaches can see sync statuses for the devices connected to their classroom server via the coach dashboard + + Given that I am on the *Coach* tab + And I am on the *Coach dashboard* page + And there are learners registered to the class + And there are devices connected to the classroom server + + Scenario: Coaches see all connected learner devices and their sync statuses + When I press the *View learners* button + Then I see a table with all devices connected to the classroom server + And I see the sync statuses of every connected device + And I can sort the devices by username or full name diff --git a/integration_testing/features/learner/learner-learn-mode-only-devices.feature b/integration_testing/features/learner/learner-learn-mode-only-devices.feature new file mode 100644 index 00000000000..ea7f9074c53 --- /dev/null +++ b/integration_testing/features/learner/learner-learn-mode-only-devices.feature @@ -0,0 +1,5 @@ +Feature: Devices can be provisioned to be in Learn-mode only so that coach and admin features are unavailable + + Scenario: Learners can see special messaging that their device is in a special mode + When I open the user menu in the top appbar or open the navigation drawer + Then I see special text messaging showing my device is in Learn-only mode diff --git a/integration_testing/features/learner/learner-see-different-device-syncing-statuses.feature b/integration_testing/features/learner/learner-see-different-device-syncing-statuses.feature new file mode 100644 index 00000000000..4772e8cb08e --- /dev/null +++ b/integration_testing/features/learner/learner-see-different-device-syncing-statuses.feature @@ -0,0 +1,26 @@ +Feature: Learners can see different device syncing statuses + + Given that the learner device is able to be synced to the classroom server + And I am under the *Learn* tab + And there is information available to sync + + Scenario: Learners can see device syncing statuses + When the learner device is attempting to sync to the classroom server + And I open the user menu in the top appbar + Then I see a *device status* indicator showing the device is syncing + When the learner device has successfully synced + And I open the user menu in the top appbar + Then I see a *device status* indicator showing the device has synced a number of minutes ago + + Scenario: Learners can see errors associated with device syncing + When the learner device is unable to sync with the classroom server + And I open the user menu in the top appbar + Then I see a *device status* red error indicator showing the device is not recently synced + When the learner device has successfully synced in the past but is unable to currently sync + And I open the user menu in the top appbar + Then I see a *device status* red error indicator showing the device has synced a number of minutes ago + + Scenario: Learners can see that the device is not connected to the classroom server + When the learner device is not connected to the classroom server + And I open the user menu in the top appbar + Then I see a *device status* indicator showing the device is not connected diff --git a/integration_testing/features/super-admin/super-admin-import-individual-users.feature b/integration_testing/features/super-admin/super-admin-import-individual-users.feature new file mode 100644 index 00000000000..8897ab92065 --- /dev/null +++ b/integration_testing/features/super-admin/super-admin-import-individual-users.feature @@ -0,0 +1,152 @@ +Feature: Import individual users + + Background: + Given Kolibri is not installed on my device + And the Kolibri installer is downloaded to my device + And Kolibri version 0.15 is installed on another device in my network + And I have a local wi-fi connection + When I install Kolibri + And I open Kolibri in my browser + Then I see *Please select the default language for Kolibri* + When I click *Continue* + Then I see *Getting started* + When I select *Advanced Setup* + And I click *Continue* + Then I see *Device name* + And I see + When I click *Continue* + Then I see *Initialize device* + + Scenario: See available *Initialize device* page features + Given I see *Initialize device* + Then I see the *Full device* section + And I see the radio options *Create a new facility* and *Import all data from an existing facility* + And I see the *Learn-only device* section + And I see the radio option *Import one or more user accounts from an existing facility* + And I see the caption *This device supports auto-syncing with a full device that has the same facility* + When I hover my mouse over the tooltip next to *Full device* + Then I see *Features for learners, coaches, and admins will be available* + When I hover my mouse over the tooltip next to *Learn-only device* + Then I see *Only features for learners will be available. Features for coaches and admins will not be available.* + + Scenario: Import one user when there is only one facility in the network + Given I see *Initialize device* + When I select *Import one or more user accounts from an existing facility* + And I click *Continue* + Then I see *Select network address* + And I see *Devices must be installed with Kolibri version 0.15.0* in the modal description + And I see radio options for devices in my network + And I see in the caption of each radio option + When I select + And I click *Continue* + Then I see *Import individual user accounts* + And I see *Import individual user accounts - 1 of 2* in the app bar + When I enter the and of in + And I click *Import* + Then I see *Loading user* + And I see *Import individual user accounts - 2 of 2* in the app bar + And I see a loading bar + When the user finishes importing + Then I see *Finished* + And I see * from successfully loaded to this device* + And I see the buttons *Finish* and *Import another user* + When I click *Finish* + Then I see the *Welcome to Kolibri!* modal on the *Channels* page + And I see that I am signed in as + + Scenario: Import a second user + Given I have finished importing the user to my *Learn-only device* + And I am viewing the *Loading user* page + When I click *Import another user* + Then I see the *Import individual user accounts* page + And I see a *Skip* button next to the *Import* button + When I enter and of + Then I see the *Loading user* page + When the user finishes importing to the device + Then I see *Finished* + And I see from successfully loaded to this device + And I see *On this device* + And I see a list with and + When I click *Finish* + Then I see the *Welcome to Kolibri* modal + And I see that I am signed in as the first user I imported + + Scenario: Change mind while importing a second user + Given I have finished importing the user to my *Learn-only device* + And I am viewing the *Loading user* page + When I click *Import another user* + Then I see the *Import individual user accounts* page + And I see a *Skip* button next to the *Import* button + When I click *Skip* + Then I see the *Welcome to Kolibri!* modal on the *Channels* page + + Scenario: Import coach or admin + Given I am on the *Import individual user accounts* page + When I enter and of a coach or admin user + And I click *Import* + Then I see the *Device limitations* modal + When I click *Import* + Then I see the *Loading user* page + + Scenario: Use an admin account + Given I am on the *Import individual user accounts* page + When I click *Use an admin account* + Then I see *Select a user* + And I see a user text box filter + And I see a user table + And I see the columns *Full name* and *Username* + And I see *Import* buttons on each row + And I see pagination at the bottom of the table + When I click *Import* on + Then I see the *Loading user* page + When finishes importing to the device + Then I see *Finished* + And I see from successfully loaded to this device + When I click *Import another user* + Then I see *Select a user* + And I see the user table + And I see that the row for is grayed out + And I see *Imported* instead of the *Import* button for + And I see a bottom bar with a secondary *Skip* button + When I click *Import* for + Then I see *Loading user* + When finishes importing to the device + Then I see *Finished* + And I see from successfully loaded to this device + And I see *On this device* + And I see a list with and + + Scenario: Change mind while importing a second user while using an admin account + Given I have finished importing the user to my *Learn-only device* + And I imported them using an admin account + When I click *Import another user* + Then I see *Select a user* + And I see a bottom bar with a secondary *Skip* button + When I click *Skip* + Then I see the *Welcome to Kolibri* modal on the *Channels* page + + Scenario: Import coach or admin while *Require password for learners* facility setting is disabled + Given I am viewing *Import individual user accounts* + And has disabled the facility setting *Require password for learners* + Then I see the *Username* text field + And I do not see the *Password* text field + When I enter the username of a coach or admin from + When I click *Import* + Then I see the modal *Enter password* + And I see *Please enter the password for + And I see * () is a on . This device is limited to features for learners only. Features for coaches and admins will not be available.* + And I see a *Password* text field + When I enter for + When I click *Import* + Then I see the *Loading user* page + And I see the user import is in progress + + Scenario: Import coach or admin after using an admin account + Given I am on the *Import individual user accounts* page + When I click *Use an admin account* + Then I see the *Select a user* page + When I click *Import* for + And is a coach or admin + Then I see the *Device limitations* modal + When I click *Import* + Then I see the *Loading user* page From c11c9a1f4e57d60e05b2a668130a4b44831f4dc1 Mon Sep 17 00:00:00 2001 From: Peter Cenov Date: Thu, 29 Jul 2021 07:41:28 -0700 Subject: [PATCH 2/2] corrections to super-admin-setup-wizard-import-individual-users.feature --- ...er-admin-setup-wizard-import-individual-users.feature} | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) rename integration_testing/features/super-admin/{super-admin-import-individual-users.feature => super-admin-setup-wizard-import-individual-users.feature} (96%) diff --git a/integration_testing/features/super-admin/super-admin-import-individual-users.feature b/integration_testing/features/super-admin/super-admin-setup-wizard-import-individual-users.feature similarity index 96% rename from integration_testing/features/super-admin/super-admin-import-individual-users.feature rename to integration_testing/features/super-admin/super-admin-setup-wizard-import-individual-users.feature index 8897ab92065..8a581f83948 100644 --- a/integration_testing/features/super-admin/super-admin-import-individual-users.feature +++ b/integration_testing/features/super-admin/super-admin-setup-wizard-import-individual-users.feature @@ -15,10 +15,10 @@ Feature: Import individual users Then I see *Device name* And I see When I click *Continue* - Then I see *Initialize device* + Then I see *Select a facility setup for this device* - Scenario: See available *Initialize device* page features - Given I see *Initialize device* + Scenario: See available *Select a facility setup for this device* page features + Given I see *Select a facility setup for this device* Then I see the *Full device* section And I see the radio options *Create a new facility* and *Import all data from an existing facility* And I see the *Learn-only device* section @@ -30,7 +30,7 @@ Feature: Import individual users Then I see *Only features for learners will be available. Features for coaches and admins will not be available.* Scenario: Import one user when there is only one facility in the network - Given I see *Initialize device* + Given I see *Select a facility setup for this device* When I select *Import one or more user accounts from an existing facility* And I click *Continue* Then I see *Select network address*