From b4c292166a40d503418f3ae9ea809d9fc46db2fd Mon Sep 17 00:00:00 2001 From: Philipp Memmel Date: Thu, 27 Oct 2022 22:33:02 +0200 Subject: [PATCH] MDL-75771 core_courseformat: Add behat test for show_editor function --- .../behat/course_manageactivities.feature | 77 +++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 course/format/tests/behat/course_manageactivities.feature diff --git a/course/format/tests/behat/course_manageactivities.feature b/course/format/tests/behat/course_manageactivities.feature new file mode 100644 index 00000000000..d9245a9c844 --- /dev/null +++ b/course/format/tests/behat/course_manageactivities.feature @@ -0,0 +1,77 @@ +@core @core_courseformat @show_editor +Feature: Verify edit utils availability. + In order to edit the course activities + As a student with capability 'moodle/course:manageactivities' + I need to be able to use the edit utils. + + Background: + Given the following "course" exists: + | fullname | Course 1 | + | shortname | C1 | + | category | 0 | + | numsections | 3 | + And the following "activities" exist: + | activity | name | intro | course | idnumber | section | + | assign | Activity sample 1 | Test assignment description | C1 | sample1 | 1 | + And the following "users" exist: + | username | firstname | lastname | email | + | teacher1 | Teacher | 1 | teacher1@example.com | + | student1 | Student | 1 | student1@example.com | + | author1 | Author | 1 | author1@example.com | + And the following "roles" exist: + | shortname | name | archetype | + | author | Author | student | + And the following "permission overrides" exist: + | capability | permission | role | contextlevel | reference | + | moodle/course:manageactivities | Allow | author | Course | C1 | + And the following "course enrolments" exist: + | user | course | role | + | teacher1 | C1 | editingteacher | + | author1 | C1 | author | + | student1 | C1 | student | + + @javascript + Scenario: Edit tools should be available to teachers. + Given I log in as "teacher1" + When I am on "Course 1" course homepage + And I turn editing mode on + Then I should see "Add an activity or resource" + And I open "Activity sample 1" actions menu + And I should see "Edit settings" + And ".section_action_menu" "css_element" should exist in the "Topic 1" "section" + And I click on ".section_action_menu" "css_element" in the "Topic 1" "section" + And I should see "Edit topic" + + @javascript + Scenario: Edit mode should not be available to students. + Given I log in as "student1" + When I am on "Course 1" course homepage + Then I should not see "Edit mode" + + @javascript + Scenario: Edit tools should be available to students with the capability 'moodle/course:manageactivities', + but should not be allowed to add and edit sections without having 'moodle/course:update' + Given I log in as "author1" + When I am on "Course 1" course homepage + And I turn editing mode on + Then I should see "Add an activity or resource" + And I should not see "Add topic" + And I open "Activity sample 1" actions menu + And I should see "Edit settings" + And ".section_action_menu" "css_element" should not exist in the "Topic 1" "section" + + @javascript + Scenario: Section adding should be available to students if they also have the capability 'moodle/course:update'. + Given the following "permission overrides" exist: + | capability | permission | role | contextlevel | reference | + | moodle/course:update | Allow | author | Course | C1 | + And I log in as "author1" + When I am on "Course 1" course homepage + And I turn editing mode on + Then I should see "Add an activity or resource" + And I should see "Add topic" + And I open "Activity sample 1" actions menu + And I should see "Edit settings" + And ".section_action_menu" "css_element" should exist in the "Topic 1" "section" + And I click on ".section_action_menu" "css_element" in the "Topic 1" "section" + And I should see "Edit topic"