You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
115 lines
6.8 KiB
115 lines
6.8 KiB
@format @format_tiles @format_tiles_completion @javascript
|
|
Feature: Progress indicators can be used to change progress status and changes are reflected in database
|
|
|
|
Background:
|
|
Given the following "users" exist:
|
|
| username | firstname | lastname | email |
|
|
| student1 | Student | 1 | student1@example.com |
|
|
| teacher1 | Teacher | 1 | teacher1@example.com |
|
|
And the following "courses" exist:
|
|
| fullname | shortname | format | coursedisplay | numsections | enablecompletion |
|
|
| Course 1 | C1 | tiles | 0 | 7 | 1 |
|
|
And the following "activities" exist:
|
|
# completion 1 is manual completion, 2 is automatic then add an extra column completionpass = 1
|
|
| activity | name | intro | course | idnumber | section | visible | completion |
|
|
| page | Test page 1a | Test page intro | C1 | page1a | 1 | 1 | 1 |
|
|
| page | Test page 1b | Test page intro | C1 | page1b | 1 | 1 | 1 |
|
|
| page | Test page 2a | Test page intro | C1 | page2a | 2 | 1 | 1 |
|
|
| page | Test page 2b | Test page intro | C1 | page2b | 2 | 1 | 1 |
|
|
| page | Test page 2c | Test page intro | C1 | page2c | 2 | 1 | 1 |
|
|
| page | Test page 2d | Test page intro | C1 | page2d | 2 | 1 | 1 |
|
|
| page | Test page 3a | Test page intro | C1 | page3a | 3 | 1 | 1 |
|
|
| page | Test page 3b | Test page intro | C1 | page3b | 3 | 1 | 1 |
|
|
| page | Test page 3c | Test page intro | C1 | page3c | 3 | 1 | 1 |
|
|
| page | Test page 3d | Test page intro | C1 | page3d | 3 | 1 | 1 |
|
|
| page | Test page 3e | Test page intro | C1 | page3e | 3 | 1 | 1 |
|
|
| page | Test page 4a | Test page intro | C1 | page4a | 4 | 1 | 1 |
|
|
| page | Test page 4b | Test page intro | C1 | page4b | 4 | 1 | 1 |
|
|
| page | Test page 5a | Test page intro | C1 | page5a | 5 | 1 | 1 |
|
|
| page | Test page 5b | Test page intro | C1 | page5b | 5 | 1 | 1 |
|
|
| page | Test page 6a | Test page intro | C1 | page6a | 6 | 1 | 1 |
|
|
| page | Test page 6b | Test page intro | C1 | page6b | 6 | 1 | 1 |
|
|
| page | Test page 7a | Test page intro | C1 | page7a | 7 | 1 | 1 |
|
|
| page | Test page 7b | Test page intro | C1 | page7b | 7 | 1 | 1 |
|
|
| page | Test page 7c | Test page intro | C1 | page7c | 7 | 1 | 1 |
|
|
|
|
#Activity counts for each tile based on above
|
|
# Tile | Activity count
|
|
# Tile 1 | 2
|
|
# Tile 2 | 4
|
|
# Tile 3 | 5
|
|
# Tile 4 | 2
|
|
# Tile 5 | 2
|
|
# Tile 6 | 2
|
|
# Tile 7 | 3
|
|
# Total | 20
|
|
|
|
And the following "course enrolments" exist:
|
|
| user | course | role |
|
|
| student1 | C1 | student |
|
|
| teacher1 | C1 | editingteacher |
|
|
And the following config values are set as admin:
|
|
| config | value | plugin |
|
|
| enablecompletion | 1 | core |
|
|
| modalmodules | page | format_tiles |
|
|
| modalresources | pdf,html | format_tiles |
|
|
| assumedatastoreconsent | 1 | format_tiles |
|
|
| reopenlastsection | 0 | format_tiles |
|
|
| usejavascriptnav | 1 | format_tiles |
|
|
| jsmaxstoreditems | 0 | format_tiles |
|
|
# We set jsmaxstoreditems to zero as otherwise when we switch between subtiles and tiles format we may not see an immediate change in display
|
|
|
|
@javascript
|
|
Scenario: Log in as student and check/uncheck activities - results correctly reach database
|
|
When I log in as "student1"
|
|
And format_tiles progress indicator is showing as "percent" for course "Course 1"
|
|
And I am on "Course 1" course homepage
|
|
And format_tiles subtiles are off for course "Course 1"
|
|
And I wait "1" seconds
|
|
And format_tiles progress indicator for tile "1" is "0" out of "2"
|
|
And I click on tile "1"
|
|
And I wait until the page is ready
|
|
|
|
And I click format tiles progress indicator for "Test page 1a"
|
|
Then format_tiles progress for "Test page 1a" in "Course 1" is "1" in the database
|
|
And format_tiles progress indicator for tile "1" is "1" out of "2"
|
|
|
|
And I click format tiles progress indicator for "Test page 1b"
|
|
Then format_tiles progress for "Test page 1b" in "Course 1" is "1" in the database
|
|
And format_tiles progress indicator for tile "1" is "2" out of "2"
|
|
|
|
And I click format tiles progress indicator for "Test page 1a"
|
|
Then format_tiles progress for "Test page 1a" in "Course 1" is "0" in the database
|
|
And format_tiles progress indicator for tile "1" is "1" out of "2"
|
|
|
|
And I click format tiles progress indicator for "Test page 1b"
|
|
Then format_tiles progress for "Test page 2b" in "Course 1" is "0" in the database
|
|
And format_tiles progress indicator for tile "1" is "0" out of "2"
|
|
|
|
@javascript
|
|
Scenario: Log in as student and check/uncheck activities - results correctly shown in UI
|
|
When I log in as "student1"
|
|
And format_tiles progress indicator is showing as "percent" for course "Course 1"
|
|
And I am on "Course 1" course homepage
|
|
And format_tiles subtiles are off for course "Course 1"
|
|
And format_tiles progress indicator for tile "1" is "0" out of "2"
|
|
And I click on tile "1"
|
|
And I wait until the page is ready
|
|
|
|
And I click format tiles progress indicator for "Test page 1a"
|
|
Then format_tiles progress for "Test page 1a" in "Course 1" is "1" in the database
|
|
And format_tiles progress indicator for tile "1" is "1" out of "2"
|
|
|
|
And I click format tiles progress indicator for "Test page 1b"
|
|
Then format_tiles progress for "Test page 1b" in "Course 1" is "1" in the database
|
|
And format_tiles progress indicator for tile "1" is "2" out of "2"
|
|
|
|
And I click format tiles progress indicator for "Test page 1a"
|
|
Then format_tiles progress for "Test page 1a" in "Course 1" is "0" in the database
|
|
And format_tiles progress indicator for tile "1" is "1" out of "2"
|
|
|
|
And I click format tiles progress indicator for "Test page 1b"
|
|
Then format_tiles progress for "Test page 1b" in "Course 1" is "0" in the database
|
|
And format_tiles progress indicator for tile "1" is "0" out of "2"
|
|
|
|
# TODO check that the completion values shown on the tile and overall are complete when these items change
|