moodle/mod/forum/tests/behat/grade_forum.feature
Angelia Dela Cruz 640db57c0e MDL-70152 behat: Forum behat generators use UI
Replace steps that manually add forum and forum post instances
via the UI and use Behat generators. This improves the speed of
Behat test runs.
2023-05-29 10:32:12 +08:00

171 lines
8.2 KiB
Gherkin

@mod @mod_forum @core_grades @javascript
Feature: I can grade a students interaction across a forum
In order to assess a student's contributions
As a teacher
I can assign grades to a student based on their contributions
Background:
Given the following "users" exist:
| username | firstname | lastname | email |
| teacher1 | Teacher | 1 | teacher1@example.com |
| student1 | Student | 1 | student1@example.com |
And the following "courses" exist:
| fullname | shortname | format | numsections |
| Course 1 | C1 | weeks | 5 |
And the following "grade categories" exist:
| fullname | course |
| Tutor | C1 |
| Peers | C1 |
And the following "course enrolments" exist:
| user | course | role |
| teacher1 | C1 | editingteacher |
| student1 | C1 | student |
And the following "scales" exist:
| name | scale |
| Test Scale 1 | Disappointing, Good, Very good, Excellent |
And the following "activity" exists:
| activity | forum |
| course | C1 |
| idnumber | 0001 |
| name | Test Forum 1 |
| description | Test |
| section | 1 |
And I log in as "teacher1"
And I change window size to "large"
And I am on "Course 1" course homepage
And I turn editing mode on
Scenario: Ensure that forum grade settings do not leak to Ratings
Given I am on the "Test Forum 1" "forum activity" page
And I navigate to "Settings" in current page administration
And I expand all fieldsets
# Fields should be hidden when grading is not set.
When I set the field "Whole forum grading > Type" to "None"
Then "Whole forum grading > Grade to pass" "field" should not be visible
And "Whole forum grading > Grade category" "field" should not be visible
And "Whole forum grading > Maximum grade" "field" should not be visible
And "Ratings > Grade to pass" "field" should not be visible
And "Ratings > Grade category" "field" should not be visible
And "Ratings > Maximum grade" "field" should not be visible
# Only Whole forum grading fields should be visible.
When I set the field "Whole forum grading > Type" to "Point"
Then "Whole forum grading > Grade to pass" "field" should be visible
And "Whole forum grading > Grade category" "field" should be visible
And "Whole forum grading > Maximum grade" "field" should be visible
But "Ratings > Grade to pass" "field" should not be visible
And "Ratings > Grade category" "field" should not be visible
And "Ratings > Maximum grade" "field" should not be visible
# Save some values.
Given I set the field "Whole forum grading > Maximum grade" to "10"
And I set the field "Whole forum grading > Grade category" to "Tutor"
And I set the field "Whole forum grading > Grade to pass" to "4"
When I press "Save and return to course"
And I navigate to "View > Grader report" in the course gradebook
And I turn editing mode on
# There shouldn't be any Ratings grade item.
Then I should see "Test Forum 1 whole forum"
But I should not see "Test Forum 1 rating"
# The values saved should be reflected here.
And I click on grade item menu "Test Forum 1 whole forum" of type "gradeitem" on "grader" page
And I choose "Edit grade item" in the open action menu
When I expand all fieldsets
Then the field "Maximum grade" matches value "10"
Then the field "Grade to pass" matches value "4"
And I should see "Tutor" in the "Parent category" "fieldset"
Scenario: Ensure that Ratings settings do not leak to Forum grading
Given I am on the "Test Forum 1" "forum activity" page
And I navigate to "Settings" in current page administration
And I expand all fieldsets
# Fields should be hidden when grading is not set.
When I set the field "Ratings > Aggregate type" to "No ratings"
Then "Ratings > Type" "field" should not be visible
And "Ratings > Grade to pass" "field" should not be visible
And "Ratings > Grade category" "field" should not be visible
And "Ratings > Maximum grade" "field" should not be visible
And "Whole forum grading > Grade to pass" "field" should not be visible
And "Whole forum grading > Grade category" "field" should not be visible
And "Whole forum grading > Maximum grade" "field" should not be visible
# Set to "Count of ratings"
When I set the field "Ratings > Aggregate type" to "Count of ratings"
Then "Ratings > Type" "field" should be visible
When I set the field "Ratings > Type" to "None"
Then "Ratings > Grade to pass" "field" should not be visible
And "Ratings > Grade category" "field" should not be visible
And "Ratings > Maximum grade" "field" should not be visible
And "Whole forum grading > Grade to pass" "field" should not be visible
And "Whole forum grading > Grade category" "field" should not be visible
And "Whole forum grading > Maximum grade" "field" should not be visible
# Use point grading
When I set the field "Ratings > Type" to "Point"
Then "Ratings > Grade to pass" "field" should be visible
And "Ratings > Grade category" "field" should be visible
And "Ratings > Maximum grade" "field" should be visible
And "Whole forum grading > Grade to pass" "field" should not be visible
And "Whole forum grading > Grade category" "field" should not be visible
And "Whole forum grading > Maximum grade" "field" should not be visible
# Save some values.
Given I set the field "Ratings > Maximum grade" to "10"
And I set the field "Ratings > Grade category" to "Tutor"
And I set the field "Ratings > Grade to pass" to "4"
When I press "Save and return to course"
And I navigate to "View > Grader report" in the course gradebook
# There shouldn't be any Whole forum grade gradeitem.
Then I should see "Test Forum 1 rating"
But I should not see "Test Forum 1 whole forum"
# The values saved should be reflected here.
And I click on grade item menu "Test Forum 1 rating" of type "gradeitem" on "grader" page
And I choose "Edit grade item" in the open action menu
When I expand all fieldsets
Then the field "Maximum grade" matches value "10"
Then the field "Grade to pass" matches value "4"
And I should see "Tutor" in the "Parent category" "fieldset"
Scenario: Setting both a rating and a whole forum grade does not bleed
Given I am on the "Test Forum 1" "forum activity" page
And I navigate to "Settings" in current page administration
And I expand all fieldsets
And I set the field "Ratings > Aggregate type" to "Count of ratings"
And I set the field "Ratings > Type" to "Point"
And I set the field "Ratings > Maximum grade" to "100"
And I set the field "Ratings > Grade category" to "Peers"
And I set the field "Ratings > Grade to pass" to "40"
And I set the field "Whole forum grading > Type" to "Point"
And I set the field "Whole forum grading > Maximum grade" to "10"
And I set the field "Whole forum grading > Grade category" to "Tutor"
And I set the field "Whole forum grading > Grade to pass" to "4"
And I press "Save and return to course"
And I navigate to "View > Grader report" in the course gradebook
And I turn editing mode on
# There shouldn't be any Whole forum grade gradeitem.
Then I should see "Test Forum 1 rating"
And I should see "Test Forum 1 whole forum"
# The values saved should be reflected here.
And I click on grade item menu "Test Forum 1 rating" of type "gradeitem" on "grader" page
And I choose "Edit grade item" in the open action menu
When I expand all fieldsets
Then the field "Maximum grade" matches value "100"
Then the field "Grade to pass" matches value "40"
And I should see "Peers" in the "Parent category" "fieldset"
And I press "cancel"
And I click on grade item menu "Test Forum 1 whole forum" of type "gradeitem" on "grader" page
And I choose "Edit grade item" in the open action menu
When I expand all fieldsets
Then the field "Maximum grade" matches value "10"
Then the field "Grade to pass" matches value "4"
And I should see "Tutor" in the "Parent category" "fieldset"