MDL-82946 qbank: Behat coverage for questions bulk actions

This commit is contained in:
Angelia Dela Cruz 2024-10-30 10:47:45 +08:00 committed by Simey Lameze
parent a798b1db39
commit 192fc6882e
2 changed files with 73 additions and 10 deletions

View file

@ -3,18 +3,21 @@ Feature: Use the qbank plugin manager page for bulkmove
In order to check the plugin behaviour with enable and disable In order to check the plugin behaviour with enable and disable
Background: Background:
Given the following "courses" exist: Given the following "users" exist:
| username | firstname | lastname | email |
| teacher1 | Teacher | 1 | teacher1@example.com |
And the following "courses" exist:
| fullname | shortname | category | | fullname | shortname | category |
| Course 1 | C1 | 0 | | Course 1 | C1 | 0 |
| Course 2 | C2 | 0 | | Course 2 | C2 | 0 |
| Course 3 | C3 | 0 | | Course 3 | C3 | 0 |
And the following "users" exist:
| username | firstname | lastname | email |
| teacher1 | Teacher | 1 | teacher1@example.com |
And the following "course enrolments" exist: And the following "course enrolments" exist:
| user | course | role | | user | course | role |
| teacher1 | C1 | editingteacher | | teacher1 | C1 | editingteacher |
| teacher1 | C2 | editingteacher | | teacher1 | C2 | editingteacher |
And the following "course enrolments" exist:
| user | course | role |
| teacher1 | C1 | editingteacher |
And the following "activities" exist: And the following "activities" exist:
| activity | name | course | idnumber | | activity | name | course | idnumber |
| quiz | Test quiz | C1 | quiz1 | | quiz | Test quiz | C1 | quiz1 |
@ -29,6 +32,8 @@ Feature: Use the qbank plugin manager page for bulkmove
| Activity module | qbank3 | Test questions 4 | | Activity module | qbank3 | Test questions 4 |
| Activity module | qbank1 | Test questions 5 | | Activity module | qbank1 | Test questions 5 |
| Activity module | quiz1 | Test questions 6 | | Activity module | quiz1 | Test questions 6 |
| Course | C1 | Test questions |
| Course | C1 | Moved questions |
And the following "questions" exist: And the following "questions" exist:
| questioncategory | qtype | name | questiontext | | questioncategory | qtype | name | questiontext |
| Test questions 1 | truefalse | First question | Answer the first question | | Test questions 1 | truefalse | First question | Answer the first question |
@ -93,3 +98,27 @@ Feature: Use the qbank plugin manager page for bulkmove
And I click on "Confirm" "button" And I click on "Confirm" "button"
And I wait until the page is ready And I wait until the page is ready
Then I should see "Questions successfully moved" Then I should see "Questions successfully moved"
@javascript
Scenario: Questions can be bulk moved from the question bank
Given the following "questions" exist:
| questioncategory | qtype | name | questiontext |
| Test questions | truefalse | Question 1 | Answer the first question |
| Test questions | missingtype | Question 2 | Write something |
| Test questions | essay | Question 3 | frog |
And I am on the "Course 1" "core_question > course question bank" page logged in as teacher1
# Select questions to be moved.
And I click on "Question 1" "checkbox"
And I click on "Question 2" "checkbox"
And I click on "With selected" "button"
When I press "Move to"
# Select a different category to move the questions into.
And I open the autocomplete suggestions list in the ".search-categories" "css_element"
And I click on "Moved questions" item in the autocomplete list
And I press "Move questions"
And I click on "Confirm" "button"
# Confirm that selected questions are moved to selected category while unselected questions are not moved.
Then I should see "Moved questions"
And I should see "Question 1"
And I should see "Question 2"
And I should not see "Question 3"

View file

@ -3,15 +3,22 @@ Feature: Use the qbank plugin manager page for deletequestion
In order to check the plugin behaviour with enable and disable In order to check the plugin behaviour with enable and disable
Background: Background:
Given the following "courses" exist: Given the following "users" exist:
| username | firstname | lastname | email |
| teacher1 | Teacher | 1 | teacher1@example.com |
And the following "courses" exist:
| fullname | shortname | category | | fullname | shortname | category |
| Course 1 | C1 | 0 | | Course 1 | C1 | 0 |
And the following "course enrolments" exist:
| user | course | role |
| teacher1 | C1 | editingteacher |
And the following "activities" exist: And the following "activities" exist:
| activity | name | course | idnumber | | activity | name | course | idnumber |
| quiz | Test quiz | C1 | quiz1 | | quiz | Test quiz | C1 | quiz1 |
And the following "question categories" exist: And the following "question categories" exist:
| contextlevel | reference | name | | contextlevel | reference | name |
| Activity module | quiz1 | Test questions | | Activity module | quiz1 | Test questions |
| Course | C1 | Course questions |
And the following "questions" exist: And the following "questions" exist:
| questioncategory | qtype | name | questiontext | | questioncategory | qtype | name | questiontext |
| Test questions | truefalse | First question | Answer the first question | | Test questions | truefalse | First question | Answer the first question |
@ -70,3 +77,30 @@ Feature: Use the qbank plugin manager page for deletequestion
When I click on "Delete" "button" in the "Delete question?" "dialogue" When I click on "Delete" "button" in the "Delete question?" "dialogue"
Then I should not see "Third question" Then I should not see "Third question"
And "foo" "autocomplete_selection" should exist And "foo" "autocomplete_selection" should exist
@javascript
Scenario: Questions can be bulk deleted from the question bank
Given the following "questions" exist:
| questioncategory | qtype | name | questiontext |
| Course questions | truefalse | Question 1 | Answer the first question |
| Course questions | missingtype | Question 2 | Write something |
| Course questions | essay | Question 3 | frog |
# Navigate to question bank.
And I am on the "Course 1" "core_question > course question bank" page logged in as teacher1
# Select questions to be deleted.
# And I pause
And I click on "Question 1" "checkbox"
And I click on "Question 2" "checkbox"
And I click on "With selected" "button"
When I press "Delete"
# Confirm that delete confirmation message is displayed.
Then I should see "This will delete the following questions and all their versions:"
# Confirm that selected questions are listed on the confirmation dialog.
And I should see "Question 1 v1"
And I should see "Question 2 v1"
# Delete selected questions.
And I press "Delete"
# Confirm that selected questions are deleted while unselected questions still exist.
And I should not see "Question 1"
And I should not see "Question 2"
And I should see "Question 3"