MDL-76739 mod_data: Split comments test into two

MDL-75596 added an "Insert an activity or resource before ..." button
that allows adding an activity or a resource before or after another
activity in a course. This renders the button in the DOM (although
hidden and shown only on mouseover) when there's at least one activity
in the course.

In this issue, the button's label was renamed to "Add an activity or
resource before ..." and it now obscures the normal "Add an activity or
resource" button at the bottom of the course section from being
interacted on when running Behat tests.

This failure happens in the create_activity.feature file as it creates
two DB activities in a single scenario – one when "usecomments" is
turned on and one when it's turned off. Given this limitation, a
workaround is to split the "Teacher cannot enable comments if they are
disabled at site level" scenario into two scenarios with the first one
testing when "usecomments" is on while the second scenario testing when
"usecomments" is turned off.
This commit is contained in:
Jun Pataleta 2023-01-12 16:51:47 +08:00
parent 769397fd9d
commit 25ff4c441b

View File

@ -4,8 +4,7 @@ Feature: Teachers can enable comments only if comments are enabled at site level
As an admin
I need to enable comments at site level
@javascript
Scenario: Teacher cannot enable comments if they are disabled at site level
Background:
Given the following "users" exist:
| username | firstname | lastname | email |
| teacher1 | Teacher | 1 | teacher1@example.com |
@ -18,21 +17,28 @@ Feature: Teachers can enable comments only if comments are enabled at site level
When I log in as "teacher1"
And I am on "Course 1" course homepage
And I turn editing mode on
And I press "Add an activity or resource"
@javascript
Scenario: Teacher can enable comments if they are enabled at site level
Given I press "Add an activity or resource"
And I click on "Add a new Database" "link" in the "Add an activity or resource" "dialogue"
And I expand all fieldsets
When I expand all fieldsets
And "Allow comments on entries" "field" should exist
And I set the field "Name" to "Test Database name"
And I set the field "Allow comments on entries" to "Yes"
And I press "Save and return to course"
And I should see "Test Database name"
@javascript
Scenario: Teacher cannot enable comments if they are disabled at site level
# Disable comments in site config.
And the following config values are set as admin:
Given the following config values are set as admin:
| usecomments | 0 |
And I press "Add an activity or resource"
And I click on "Add a new Database" "link" in the "Add an activity or resource" "dialogue"
And I expand all fieldsets
When I expand all fieldsets
And I set the field "Name" to "Test Database name 2"
And "Allow comments on entries" "field" should not exist
Then I should see "No" in the "//*[@id=\"fitem_id_comments\"]/*[@data-fieldtype=\"selectyesno\"]" "xpath_element"
And I press "Save and return to course"
And I log out
And I should see "Test Database name 2"