Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Several new features for the 0.15 release #8233

Merged
merged 2 commits into from
Jul 29, 2021
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -0,0 +1,152 @@
Feature: Import individual users
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's just change the filename to reflect that it's a part of the setup wizard procedure:
super-admin-setup-wizard-import-individual-users.feature


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 <My device's name>
When I click *Continue*
Then I see *Initialize device*
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We changed the wording here, check the latest on the Figma prototype:
https://www.figma.com/file/w3raYcGRUhhaVm1Of8Dcvo?node-id=229:63#94924868

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, I've changed 'Initialize device' to 'Select a facility setup for this device' here and in subsequent lines.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good, push both changes in a new commit and I'll approve! 👍🏽


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 <Kolibri version> in the caption of each radio option
When I select <device>
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 <username> and <password> of <user> in <facility>
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 *<Full name> from <facility> 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 <username>

Scenario: Import a second user
Given I have finished importing the user <Full name 1> 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 <username> and <password> of <user 2>
Then I see the *Loading user* page
When the user finishes importing to the device
Then I see *Finished*
And I see <Full name 2> from <facility> successfully loaded to this device
And I see *On this device*
And I see a list with <Full name 1> and <Full name 2>
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 <Full name 1> 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 <username> and <password> 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 <user 1>
Then I see the *Loading user* page
When <user 1> finishes importing to the device
Then I see *Finished*
And I see <Full name 1> from <facility> 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 <user 1> is grayed out
And I see *Imported* instead of the *Import* button for <user 1>
And I see a bottom bar with a secondary *Skip* button
When I click *Import* for <user 2>
Then I see *Loading user*
When <user 2> finishes importing to the device
Then I see *Finished*
And I see <Full name 2> from <facility> successfully loaded to this device
And I see *On this device*
And I see a list with <Full name 1> and <Full name 2>

Scenario: Change mind while importing a second user while using an admin account
Given I have finished importing the user <Full name 1> 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 <facility> 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 <username> of a coach or admin from <facility>
When I click *Import*
Then I see the modal *Enter password*
And I see *Please enter the password for <username>
And I see *<Full name> (<username>) is a <coach or admin> on <peer device>. 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 <password> for <username>
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 <user>
And <user> is a coach or admin
Then I see the *Device limitations* modal
When I click *Import*
Then I see the *Loading user* page