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.
428 lines
20 KiB
428 lines
20 KiB
@mod @mod_quiz
|
|
Feature: Edit quiz page - section headings
|
|
In order to build a quiz laid out in sections the way I want
|
|
As a teacher
|
|
I need to be able to add, edit and remove section headings as well as shuffle
|
|
questions within a section.
|
|
|
|
Background:
|
|
Given the following "users" exist:
|
|
| username | firstname | lastname | email |
|
|
| teacher1 | T1 | Teacher1 | teacher1@example.com |
|
|
And the following "courses" exist:
|
|
| fullname | shortname | category |
|
|
| Course 1 | C1 | 0 |
|
|
And the following "course enrolments" exist:
|
|
| user | course | role |
|
|
| teacher1 | C1 | editingteacher |
|
|
And the following "question categories" exist:
|
|
| contextlevel | reference | name |
|
|
| Course | C1 | Test questions |
|
|
And I log in as "teacher1"
|
|
|
|
@javascript
|
|
Scenario: We have a quiz with one default section
|
|
Given the following "activities" exist:
|
|
| activity | name | intro | course | idnumber |
|
|
| quiz | Quiz 1 | Quiz 1 description | C1 | quiz1 |
|
|
And the following "questions" exist:
|
|
| questioncategory | qtype | name | questiontext |
|
|
| Test questions | truefalse | TF1 | This is question 01 |
|
|
| Test questions | truefalse | TF2 | This is question 02 |
|
|
| Test questions | truefalse | TF3 | This is question 03 |
|
|
And quiz "Quiz 1" contains the following questions:
|
|
| question | page |
|
|
| TF1 | 1 |
|
|
| TF2 | 2 |
|
|
| TF3 | 3 |
|
|
When I am on "Course 1" course homepage
|
|
And I follow "Quiz 1"
|
|
And I navigate to "Edit quiz" in current page administration
|
|
Then I should see "Shuffle"
|
|
|
|
@javascript
|
|
Scenario: Modify the default section headings
|
|
Given the following "activities" exist:
|
|
| activity | name | intro | course | idnumber |
|
|
| quiz | Quiz 1 | Quiz 1 description | C1 | quiz1 |
|
|
When I am on "Course 1" course homepage
|
|
And I follow "Quiz 1"
|
|
And I navigate to "Edit quiz" in current page administration
|
|
And I change quiz section heading "" to "This is section one"
|
|
Then I should see "This is section one"
|
|
|
|
@javascript
|
|
Scenario: Modify section headings
|
|
Given the following "activities" exist:
|
|
| activity | name | intro | course | idnumber |
|
|
| quiz | Quiz 1 | Quiz 1 description | C1 | quiz1 |
|
|
And the following "questions" exist:
|
|
| questioncategory | qtype | name | questiontext |
|
|
| Test questions | truefalse | TF1 | This is question 01 |
|
|
| Test questions | truefalse | TF2 | This is question 02 |
|
|
| Test questions | truefalse | TF3 | This is question 03 |
|
|
| Test questions | truefalse | TF4 | This is question 04 |
|
|
| Test questions | truefalse | TF5 | This is question 05 |
|
|
And quiz "Quiz 1" contains the following questions:
|
|
| question | page |
|
|
| TF1 | 1 |
|
|
| TF2 | 2 |
|
|
| TF3 | 3 |
|
|
| TF4 | 3 |
|
|
And quiz "Quiz 1" contains the following sections:
|
|
| heading | firstslot | shuffle |
|
|
| | 1 | 0 |
|
|
| Heading 2 | 2 | 0 |
|
|
| Heading 3 | 3 | 1 |
|
|
When I am on "Course 1" course homepage
|
|
And I follow "Quiz 1"
|
|
And I navigate to "Edit quiz" in current page administration
|
|
And I change quiz section heading "" to "This is section one"
|
|
And I change quiz section heading "Heading 2" to "This is section two"
|
|
Then I should see "This is section one"
|
|
And I should see "This is section two"
|
|
|
|
@javascript
|
|
Scenario: Set section headings to blanks
|
|
Given the following "activities" exist:
|
|
| activity | name | intro | course | idnumber |
|
|
| quiz | Quiz 1 | Quiz 1 description | C1 | quiz1 |
|
|
And the following "questions" exist:
|
|
| questioncategory | qtype | name | questiontext |
|
|
| Test questions | truefalse | TF1 | This is question 01 |
|
|
| Test questions | truefalse | TF2 | This is question 02 |
|
|
| Test questions | truefalse | TF3 | This is question 03 |
|
|
| Test questions | truefalse | TF4 | This is question 04 |
|
|
| Test questions | truefalse | TF5 | This is question 05 |
|
|
And quiz "Quiz 1" contains the following questions:
|
|
| question | page |
|
|
| TF1 | 1 |
|
|
| TF2 | 2 |
|
|
| TF3 | 3 |
|
|
| TF4 | 3 |
|
|
And quiz "Quiz 1" contains the following sections:
|
|
| heading | firstslot | shuffle |
|
|
| Heading 1 | 1 | 0 |
|
|
| Heading 2 | 2 | 0 |
|
|
| Heading 3 | 3 | 1 |
|
|
When I am on "Course 1" course homepage
|
|
And I follow "Quiz 1"
|
|
And I navigate to "Edit quiz" in current page administration
|
|
When I change quiz section heading "Heading 1" to ""
|
|
Then I should not see "Heading 1"
|
|
And I should see "Heading 2"
|
|
And I should see "Heading 3"
|
|
|
|
And I change quiz section heading "Heading 2" to ""
|
|
And I should not see "Heading 1"
|
|
And I should not see "Heading 2"
|
|
And I should see "Heading 3"
|
|
|
|
And I change quiz section heading "Heading 3" to ""
|
|
And I should not see "Heading 1"
|
|
And I should not see "Heading 2"
|
|
And I should not see "Heading 3"
|
|
|
|
@javascript
|
|
Scenario: Remove a section
|
|
Given the following "activities" exist:
|
|
| activity | name | intro | course | idnumber |
|
|
| quiz | Quiz 1 | Quiz 1 description | C1 | quiz1 |
|
|
And the following "questions" exist:
|
|
| questioncategory | qtype | name | questiontext |
|
|
| Test questions | truefalse | TF1 | This is question 01 |
|
|
| Test questions | truefalse | TF2 | This is question 02 |
|
|
| Test questions | truefalse | TF3 | This is question 03 |
|
|
And quiz "Quiz 1" contains the following questions:
|
|
| question | page |
|
|
| TF1 | 1 |
|
|
| TF2 | 2 |
|
|
| TF3 | 3 |
|
|
And quiz "Quiz 1" contains the following sections:
|
|
| heading | firstslot | shuffle |
|
|
| Heading 1 | 1 | 0 |
|
|
| Heading 2 | 2 | 0 |
|
|
| Heading 3 | 3 | 1 |
|
|
When I am on "Course 1" course homepage
|
|
And I follow "Quiz 1"
|
|
And I navigate to "Edit quiz" in current page administration
|
|
And I follow "Remove heading 'Heading 2'"
|
|
And I should see "Are you sure you want to remove the 'Heading 2' section heading?"
|
|
And I click on "Yes" "button" in the "Confirm" "dialogue"
|
|
And I wait until the page is ready
|
|
And I wait until "Heading 2" "text" does not exist
|
|
Then I should see "Heading 1"
|
|
And I should not see "Heading 2"
|
|
And I should see "Heading 3"
|
|
|
|
@javascript
|
|
Scenario: The edit-icon tool-tips are updated when a section is edited
|
|
Given the following "activities" exist:
|
|
| activity | name | intro | course | idnumber |
|
|
| quiz | Quiz 1 | Quiz 1 description | C1 | quiz1 |
|
|
And the following "questions" exist:
|
|
| questioncategory | qtype | name | questiontext |
|
|
| Test questions | truefalse | TF1 | This is question 01 |
|
|
| Test questions | truefalse | TF2 | This is question 02 |
|
|
And quiz "Quiz 1" contains the following questions:
|
|
| question | page |
|
|
| TF1 | 1 |
|
|
| TF2 | 2 |
|
|
And quiz "Quiz 1" contains the following sections:
|
|
| heading | firstslot | shuffle |
|
|
| Heading 1 | 1 | 0 |
|
|
| Heading 2 | 2 | 0 |
|
|
When I am on "Course 1" course homepage
|
|
And I follow "Quiz 1"
|
|
And I navigate to "Edit quiz" in current page administration
|
|
And I change quiz section heading "Heading 2" to "Edited heading"
|
|
Then I should see "Edited heading"
|
|
And "Edit heading 'Edited heading'" "link" should be visible
|
|
And "Remove heading 'Edited heading'" "link" should be visible
|
|
|
|
@javascript
|
|
Scenario: Moving a question up from section 3 to the first section.
|
|
Given the following "activities" exist:
|
|
| activity | name | intro | course | idnumber |
|
|
| quiz | Quiz 1 | Quiz 1 description | C1 | quiz1 |
|
|
And the following "questions" exist:
|
|
| questioncategory | qtype | name | questiontext |
|
|
| Test questions | truefalse | TF1 | This is question 01 |
|
|
| Test questions | truefalse | TF2 | This is question 02 |
|
|
| Test questions | truefalse | TF3 | This is question 03 |
|
|
| Test questions | truefalse | TF4 | This is question 04 |
|
|
| Test questions | truefalse | TF5 | This is question 05 |
|
|
| Test questions | truefalse | TF6 | This is question 06 |
|
|
And quiz "Quiz 1" contains the following questions:
|
|
| question | page |
|
|
| TF1 | 1 |
|
|
| TF2 | 2 |
|
|
| TF3 | 3 |
|
|
| TF4 | 4 |
|
|
| TF5 | 5 |
|
|
| TF6 | 6 |
|
|
And quiz "Quiz 1" contains the following sections:
|
|
| heading | firstslot | shuffle |
|
|
| Heading 1 | 1 | 0 |
|
|
| Heading 2 | 3 | 0 |
|
|
| Heading 3 | 5 | 1 |
|
|
When I am on "Course 1" course homepage
|
|
And I follow "Quiz 1"
|
|
And I navigate to "Edit quiz" in current page administration
|
|
And I move "TF5" to "After Question 2" in the quiz by clicking the move icon
|
|
Then I should see "TF5" on quiz page "2"
|
|
|
|
@javascript
|
|
Scenario: moving a question down from the first section to the second section.
|
|
Given the following "activities" exist:
|
|
| activity | name | intro | course | idnumber |
|
|
| quiz | Quiz 1 | Quiz 1 description | C1 | quiz1 |
|
|
And the following "questions" exist:
|
|
| questioncategory | qtype | name | questiontext |
|
|
| Test questions | truefalse | TF1 | This is question 01 |
|
|
| Test questions | truefalse | TF2 | This is question 02 |
|
|
| Test questions | truefalse | TF3 | This is question 03 |
|
|
| Test questions | truefalse | TF4 | This is question 04 |
|
|
| Test questions | truefalse | TF5 | This is question 05 |
|
|
| Test questions | truefalse | TF6 | This is question 06 |
|
|
And quiz "Quiz 1" contains the following questions:
|
|
| question | page |
|
|
| TF1 | 1 |
|
|
| TF2 | 2 |
|
|
| TF3 | 3 |
|
|
| TF4 | 4 |
|
|
| TF5 | 5 |
|
|
| TF6 | 6 |
|
|
And quiz "Quiz 1" contains the following sections:
|
|
| heading | firstslot | shuffle |
|
|
| Heading 1 | 1 | 0 |
|
|
| Heading 2 | 3 | 0 |
|
|
| Heading 3 | 5 | 1 |
|
|
When I am on "Course 1" course homepage
|
|
And I follow "Quiz 1"
|
|
And I navigate to "Edit quiz" in current page administration
|
|
And I move "TF1" to "After Question 3" in the quiz by clicking the move icon
|
|
Then I should see "TF1" on quiz page "2"
|
|
|
|
@javascript
|
|
Scenario: I should not see a delete icon for the first section in the quiz.
|
|
Given the following "activities" exist:
|
|
| activity | name | intro | course | idnumber |
|
|
| quiz | Quiz 1 | Quiz 1 description | C1 | quiz1 |
|
|
And the following "questions" exist:
|
|
| questioncategory | qtype | name | questiontext |
|
|
| Test questions | truefalse | TF1 | This is question 01 |
|
|
| Test questions | truefalse | TF2 | This is question 02 |
|
|
| Test questions | truefalse | TF3 | This is question 03 |
|
|
And quiz "Quiz 1" contains the following questions:
|
|
| question | page |
|
|
| TF1 | 1 |
|
|
| TF2 | 2 |
|
|
| TF3 | 3 |
|
|
And quiz "Quiz 1" contains the following sections:
|
|
| heading | firstslot | shuffle |
|
|
| Heading 1 | 1 | 0 |
|
|
| Heading 2 | 2 | 0 |
|
|
| Heading 3 | 3 | 1 |
|
|
When I am on "Course 1" course homepage
|
|
And I follow "Quiz 1"
|
|
And I navigate to "Edit quiz" in current page administration
|
|
Then "Remove heading 'Heading 1'" "link" should not exist
|
|
And "Remove heading 'Heading 2'" "link" should exist
|
|
And "Remove heading 'Heading 3'" "link" should exist
|
|
|
|
@javascript
|
|
Scenario: Turn shuffling on for a section
|
|
Given the following "activities" exist:
|
|
| activity | name | intro | course | idnumber |
|
|
| quiz | Quiz 1 | Quiz 1 description | C1 | quiz1 |
|
|
And the following "questions" exist:
|
|
| questioncategory | qtype | name | questiontext |
|
|
| Test questions | truefalse | TF1 | This is question 01 |
|
|
| Test questions | truefalse | TF2 | This is question 02 |
|
|
| Test questions | truefalse | TF3 | This is question 03 |
|
|
And quiz "Quiz 1" contains the following questions:
|
|
| question | page |
|
|
| TF1 | 1 |
|
|
| TF2 | 2 |
|
|
| TF3 | 3 |
|
|
And quiz "Quiz 1" contains the following sections:
|
|
| heading | firstslot | shuffle |
|
|
| Heading 1 | 1 | 0 |
|
|
| Heading 2 | 2 | 0 |
|
|
| Heading 3 | 3 | 0 |
|
|
When I am on "Course 1" course homepage
|
|
And I follow "Quiz 1"
|
|
And I navigate to "Edit quiz" in current page administration
|
|
And I click on shuffle for section "Heading 1" on the quiz edit page
|
|
And I click on shuffle for section "Heading 2" on the quiz edit page
|
|
Then shuffle for section "Heading 1" should be "On" on the quiz edit page
|
|
And shuffle for section "Heading 2" should be "On" on the quiz edit page
|
|
|
|
@javascript
|
|
Scenario: Turn shuffling off for a section
|
|
Given the following "activities" exist:
|
|
| activity | name | intro | course | idnumber |
|
|
| quiz | Quiz 1 | Quiz 1 description | C1 | quiz1 |
|
|
And the following "questions" exist:
|
|
| questioncategory | qtype | name | questiontext |
|
|
| Test questions | truefalse | TF1 | This is question 01 |
|
|
| Test questions | truefalse | TF2 | This is question 02 |
|
|
| Test questions | truefalse | TF3 | This is question 03 |
|
|
And quiz "Quiz 1" contains the following questions:
|
|
| question | page |
|
|
| TF1 | 1 |
|
|
| TF2 | 2 |
|
|
| TF3 | 3 |
|
|
And quiz "Quiz 1" contains the following sections:
|
|
| heading | firstslot | shuffle |
|
|
| Heading 1 | 1 | 1 |
|
|
| Heading 2 | 2 | 1 |
|
|
| Heading 3 | 3 | 1 |
|
|
When I am on "Course 1" course homepage
|
|
And I follow "Quiz 1"
|
|
And I navigate to "Edit quiz" in current page administration
|
|
And I click on shuffle for section "Heading 1" on the quiz edit page
|
|
And I click on shuffle for section "Heading 2" on the quiz edit page
|
|
Then shuffle for section "Heading 1" should be "Off" on the quiz edit page
|
|
And shuffle for section "Heading 2" should be "Off" on the quiz edit page
|
|
And I reload the page
|
|
And shuffle for section "Heading 1" should be "Off" on the quiz edit page
|
|
And shuffle for section "Heading 2" should be "Off" on the quiz edit page
|
|
|
|
@javascript
|
|
Scenario: Add section heading option only appears for pages that are not the first in their section.
|
|
Given the following "activities" exist:
|
|
| activity | name | intro | course | idnumber |
|
|
| quiz | Quiz 1 | Quiz 1 description | C1 | quiz1 |
|
|
And the following "questions" exist:
|
|
| questioncategory | qtype | name | questiontext |
|
|
| Test questions | truefalse | TF1 | This is question 01 |
|
|
| Test questions | truefalse | TF2 | This is question 02 |
|
|
| Test questions | truefalse | TF3 | This is question 03 |
|
|
And quiz "Quiz 1" contains the following questions:
|
|
| question | page |
|
|
| TF1 | 1 |
|
|
| TF2 | 1 |
|
|
| TF3 | 2 |
|
|
When I am on "Course 1" course homepage
|
|
And I follow "Quiz 1"
|
|
And I navigate to "Edit quiz" in current page administration
|
|
And I click on the "Add" page break icon after question "TF1"
|
|
And I open the action menu in "Page 1" "list_item"
|
|
Then "a new section heading" "link" in the "Page 1" "list_item" should not be visible
|
|
# Click away to close the menu.
|
|
And I click on ".numberofquestions" "css_element"
|
|
And I open the action menu in "Page 2" "list_item"
|
|
And "a new section heading" "link" in the "Page 2" "list_item" should be visible
|
|
And I click on ".numberofquestions" "css_element"
|
|
And I open the action menu in "Page 3" "list_item"
|
|
And "a new section heading" "link" in the "Page 3" "list_item" should be visible
|
|
And I click on ".numberofquestions" "css_element"
|
|
And I open the action menu in ".last-add-menu" "css_element"
|
|
And "a new section heading" "link" in the ".last-add-menu" "css_element" should not be visible
|
|
|
|
@javascript
|
|
Scenario: Verify sections are added in the right place afte ajax changes
|
|
Given the following "activities" exist:
|
|
| activity | name | intro | course | idnumber |
|
|
| quiz | Quiz 1 | Quiz 1 description | C1 | quiz1 |
|
|
And the following "questions" exist:
|
|
| questioncategory | qtype | name | questiontext |
|
|
| Test questions | truefalse | TF1 | This is question 01 |
|
|
| Test questions | truefalse | TF2 | This is question 02 |
|
|
| Test questions | truefalse | TF3 | This is question 03 |
|
|
| Test questions | truefalse | TF4 | This is question 04 |
|
|
And quiz "Quiz 1" contains the following questions:
|
|
| question | page |
|
|
| TF1 | 1 |
|
|
| TF2 | 2 |
|
|
| TF3 | 3 |
|
|
| TF4 | 4 |
|
|
|
|
When I am on "Course 1" course homepage
|
|
And I follow "Quiz 1"
|
|
And I navigate to "Edit quiz" in current page administration
|
|
And I click on the "Remove" page break icon after question "TF1"
|
|
And I open the "Page 2" add to quiz menu
|
|
And I choose "a new section heading" in the open action menu
|
|
Then "TF3" "list_item" should exist in the "New heading" "list_item"
|
|
|
|
@javascript
|
|
Scenario: Add section works after removing a page break with more than 10 pages
|
|
Given the following "activities" exist:
|
|
| activity | name | intro | course | idnumber |
|
|
| quiz | Quiz 1 | Quiz 1 description | C1 | quiz1 |
|
|
And the following "questions" exist:
|
|
| questioncategory | qtype | name | questiontext |
|
|
| Test questions | truefalse | TF1 | Question 1 |
|
|
| Test questions | truefalse | TF2 | Question 2 |
|
|
| Test questions | truefalse | TF3 | Question 3 |
|
|
| Test questions | truefalse | TF4 | Question 4 |
|
|
| Test questions | truefalse | TF5 | Question 5 |
|
|
| Test questions | truefalse | TF6 | Question 6 |
|
|
| Test questions | truefalse | TF7 | Question 7 |
|
|
| Test questions | truefalse | TF8 | Question 8 |
|
|
| Test questions | truefalse | TF9 | Question 9 |
|
|
| Test questions | truefalse | TF10 | Question 10 |
|
|
| Test questions | truefalse | TF11 | Question 11 |
|
|
And quiz "Quiz 1" contains the following questions:
|
|
| question | page |
|
|
| TF1 | 1 |
|
|
| TF2 | 2 |
|
|
| TF3 | 3 |
|
|
| TF4 | 4 |
|
|
| TF5 | 5 |
|
|
| TF6 | 6 |
|
|
| TF7 | 7 |
|
|
| TF8 | 8 |
|
|
| TF9 | 9 |
|
|
| TF10 | 10 |
|
|
| TF11 | 11 |
|
|
When I am on "Course 1" course homepage
|
|
And I follow "Quiz 1"
|
|
And I navigate to "Edit quiz" in current page administration
|
|
And I click on the "Remove" page break icon after question "TF10"
|
|
And I open the "Page 10" add to quiz menu
|
|
And I choose "a new section heading" in the open action menu
|
|
Then "TF10" "list_item" should exist in the "New heading" "list_item"
|
|
|