Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
6c9f939
Add airplane mode toggles to Maestro flows.
poojaustad Jul 20, 2026
7082da8
Update the admin assignment Maestro flow to include navigation steps …
poojaustad Jul 20, 2026
fe5d551
Add a tap action on "Apps" to the `003_admin_user_assigns_assignment_…
poojaustad Jul 20, 2026
4e84b14
Add `e2e` tag to Maestro flows and update CI script to only run tests…
poojaustad Jul 20, 2026
fef816c
Remove `setAirplaneMode` commands from the admin assignment Maestro f…
poojaustad Jul 20, 2026
2a003b8
Remove `e2e` tags from Maestro flows and update `ci-run-maestro.sh` t…
poojaustad Jul 21, 2026
323bb82
Merge branch 'main-video-download-fix' into main-offline-endtoend-test
poojaustad Jul 21, 2026
4f0713e
Comment out NVM setup and node version switching in the Cypress CI sc…
poojaustad Jul 21, 2026
676fac6
Uncomment Node.js version management commands in the Cypress CI script.
poojaustad Jul 21, 2026
268a002
Update Maestro flows to include a timestamp in the `NAME` parameter.
poojaustad Jul 21, 2026
e7d872c
Replace dynamic timestamps with static strings for `NAME` variables i…
poojaustad Jul 21, 2026
8f41ee6
Merge remote-tracking branch 'origin/dev-e2e2' into main-offline-endt…
poojaustad Jul 22, 2026
e579681
Merge branch 'dev-e2e2' into main-offline-endtoend-test
poojaustad Jul 22, 2026
76e2d76
Merge branch 'main' into main-offline-endtoend-test
poojaustad Jul 24, 2026
f46ad06
Quote the `NAME` variable in Maestro flow configuration files.
poojaustad Jul 24, 2026
51b9b38
Update the Maestro documentation to include offline mode steps and de…
poojaustad Jul 24, 2026
2d00b9f
Update the `002_browse_lessons_test` documentation in the Maestro REA…
poojaustad Jul 24, 2026
e046592
Merge branch 'refs/heads/main' into main-offline-endtoend-test
poojaustad Aug 4, 2026
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
37 changes: 25 additions & 12 deletions .maestro/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,20 +92,22 @@ export MAESTRO_FLOW=./maestro/flows/flow_name.yaml
5. Teacher approves student → student joins class
6. Teacher generates parent invite link to join class
7. Parent joins using link → adds child to class

---
### 001_002_add_user_direct_test

1. Admin logs into the app
2. Admin adds a new user directly (Parent user)
2. Admin adds a new user directly (Parent user) in offline mode
3. Verify "Family member" field is not visible when role is changed to Teacher
4. Validate "Edit" button functionality
5. Validate mandatory fields and input constraints
6. Add child user via Family member → Add person screen
7. Create account for Parent user (username, password)
7. Device back to online mode, then user Create account for Parent user (username, password)
8. Create account for Child user (username, assign/manage QR code badge, set password)
9. Create a student user for QR code validation
10. Validate login, password change, and child mode access
11. Verify QR-based login for student

---
### 001_003_login_using_school_link_test

Expand All @@ -114,6 +116,7 @@ export MAESTRO_FLOW=./maestro/flows/flow_name.yaml
3. Enter valid school URL
4. Perform login with credentials
5. Verify successful access to the app

---
### 001_005_add_school_self_registration_test

Expand All @@ -122,21 +125,31 @@ export MAESTRO_FLOW=./maestro/flows/flow_name.yaml
3. Creates system administrator account
4. Logs into newly created school
5. Verifies profile and logout/login flow

---
### 002_browse_lessons_test

1. Admin logs in to the App
2. Adds app using external manifest link
3. Verifies app is added successfully
4. Opens app and browses lessons
5. Opens and validates a lesson content
1. Admin logs into the app.
2. Adds an app using an external manifest link.
3. Verifies the app is added successfully.
4. Browses the available lessons and validates lesson content.
5. Downloads a lesson/activity for offline use.
6. In offline mode user verifies the downloaded lesson can be accessed and completed without network connectivity.
7. Submits a statement from the downloaded lesson and verifies successful submission.
8. Returns online and verifies the app remains accessible.

---
### 003_admin_user_assigns_assignment_to_a_class_test

1. Admin setup includes app, class and teacher creation
2. Teacher logs in and accesses class
3. Teacher creates a new assignment
4. Assignment is linked with lesson content
5. Assignment is saved and verified in class
1. Admin sets up the school by adding an app, creating a class, and adding a teacher and students.
2. Teacher logs in and verifies the available app and lesson content.
3. In Offline mode - Teacher creates an assignment for the class with title, description, due date/time, and tasks.
4. Teacher goes back online and verifies the assignment details, assigned class, students, and linked tasks.
5. Student A completes all assignment activities and submits xAPI statements.
6. Student B partially completes the assignment by submitting one activity.
7. Teacher verifies assignment progress, completion statistics, student results, and average scores.
8. Teacher validates the generated xAPI statement details, including the raw xAPI statement.
9. Teacher edits the assignment title and verifies the update.

---

2 changes: 2 additions & 0 deletions .maestro/flows/001_002_add_user_direct_test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ onFlowComplete:
- assertVisible:
id: "app_title"
text: "People"
- setAirplaneMode: enabled
- tapOn:
id: "ExpandableFab" # +Person button
- tapOn: "Add new person"
Expand Down Expand Up @@ -182,6 +183,7 @@ onFlowComplete:
id: "app_title"
text: "ParentA User"
- tapOn: "Child User"
- setAirplaneMode: disabled
- assertVisible:
id: "app_title"
text: "Child User"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,24 @@ onFlowComplete:
PASSWORD: "test123"
- assertVisible:
id: "nav_home"
- tapOn: "Apps"
- assertVisible:
id: "app_title"
text: "Apps"
- tapOn: "Example Web App"
- tapOn: "Lessons"
- tapOn: "Examples"
- assertVisible: "Lesson 001"
- assertVisible: "Statement Maker"
- assertVisible: "JS Tetris"
- assertVisible: "Assignment Result Statement Demo"
- tapOn: "Apps"
- tapOn: "Classes"
- assertVisible:
id: "app_title"
text: "Classes"
- assertVisible: "TestClass"
- setAirplaneMode: enabled
- tapOn: "Assignments"
- tapOn:
id: "floating_action_button" # +Assignment button
Expand Down Expand Up @@ -97,6 +110,12 @@ onFlowComplete:
- tapOn: "Examples"
- tapOn: "Assignment Result Statement Demo"
- tapOn: "Save"
- assertVisible:
id: "app_title"
text: "Homework 1"
- setAirplaneMode: disabled
- tapOn: "Assignments"
- tapOn: "Homework 1"
- assertVisible:
id: "app_title"
text: "Homework 1"
Expand Down