From 93525ebdd92f4326c24e99ff37bf87c51786dc42 Mon Sep 17 00:00:00 2001 From: Angelia Dela Cruz Date: Mon, 27 Feb 2023 13:46:21 +0800 Subject: [PATCH 1/2] MDL-77413 Behat: Add coverage to verify groups can have a picture --- ...ture => group_description_picture.feature} | 28 +++++++++++++------ 1 file changed, 20 insertions(+), 8 deletions(-) rename group/tests/behat/{group_description.feature => group_description_picture.feature} (78%) diff --git a/group/tests/behat/group_description.feature b/group/tests/behat/group_description_picture.feature similarity index 78% rename from group/tests/behat/group_description.feature rename to group/tests/behat/group_description_picture.feature index 94ebc4b6789..14298dcda4b 100644 --- a/group/tests/behat/group_description.feature +++ b/group/tests/behat/group_description_picture.feature @@ -1,8 +1,8 @@ @core @core_group -Feature: The description of a group can be viewed by students and teachers - In order to view the description of a group +Feature: The description and picture of a group can be viewed by students and teachers + In order to view the description and picture of a group As a teacher - I need to create groups and add descriptions to them. + I need to create groups and add descriptions and picture to them. Background: Given the following "courses" exist: @@ -19,8 +19,8 @@ Feature: The description of a group can be viewed by students and teachers | student1 | C1 | student | | student2 | C1 | student | - @javascript - Scenario: A student can see the group description when visible groups are set. Teachers can see group details. + @javascript @_file_upload + Scenario: A student can see the group description and picture when visible groups are set. Teachers can see group details. Given I log in as "teacher1" And I am on "Course 1" course homepage And I navigate to "Settings" in current page administration @@ -32,6 +32,8 @@ Feature: The description of a group can be viewed by students and teachers And I set the following fields to these values: | Group name | Group A | | Group description | Description for Group A | + # Upload group picture + And I upload "lib/tests/fixtures/gd-logo.png" file to "New picture" filemanager And I press "Save changes" And I press "Create group" And I set the following fields to these values: @@ -44,6 +46,8 @@ Feature: The description of a group can be viewed by students and teachers And I click on "Student 1" "link" in the "participants" "table" And I click on "Group A" "link" And I should see "Description for Group A" + # As teacher, confirm that group picture is displayed + And "//img[@class='grouppicture']" "xpath_element" should exist And ".groupinfobox" "css_element" should exist And I set the field "type" in the "Filter 1" "fieldset" to "Groups" And I set the field "Type or select..." in the "Filter 1" "fieldset" to "Group B" @@ -58,7 +62,9 @@ Feature: The description of a group can be viewed by students and teachers And I navigate to course participants And I click on "Student 1" "link" in the "participants" "table" And I click on "Group A" "link" + # As student, confirm that group description and picture is displayed Then I should see "Description for Group A" + And "//img[@class='grouppicture']" "xpath_element" should exist And I log out And I log in as "student2" And I am on "Course 1" course homepage @@ -68,8 +74,8 @@ Feature: The description of a group can be viewed by students and teachers And I should see "Student 2" in the "participants" "table" And ".groupinfobox" "css_element" should not exist - @javascript - Scenario: A student can not see the group description when separate groups are set. Teachers can see group details. + @javascript @_file_upload + Scenario: A student can not see the group description and picture when separate groups are set. Teachers can see group details. Given I log in as "teacher1" And I am on "Course 1" course homepage And I navigate to "Settings" in current page administration @@ -81,6 +87,8 @@ Feature: The description of a group can be viewed by students and teachers And I set the following fields to these values: | Group name | Group A | | Group description | Description for Group A | + # Upload group picture + And I upload "lib/tests/fixtures/gd-logo.png" file to "New picture" filemanager And I press "Save changes" And I press "Create group" And I set the following fields to these values: @@ -93,6 +101,8 @@ Feature: The description of a group can be viewed by students and teachers And I click on "Student 1" "link" in the "participants" "table" And I click on "Group A" "link" And I should see "Description for Group A" + # As teacher, confirm that group picture is displayed + And "//img[@class='grouppicture']" "xpath_element" should exist And ".groupinfobox" "css_element" should exist And I set the field "type" in the "Filter 1" "fieldset" to "Groups" And I set the field "Type or select..." in the "Filter 1" "fieldset" to "Group B" @@ -107,7 +117,9 @@ Feature: The description of a group can be viewed by students and teachers And I click on "Student 1" "link" in the "participants" "table" And I click on "Group A" "link" And I should see "Student 1" in the "participants" "table" - And I should not see "Description for Group A" + # As student, confirm that group description and picture are not displayed + Then I should not see "Description for Group A" + And "//img[@class='grouppicture']" "xpath_element" should not exist And ".groupinfobox" "css_element" should not exist And I log out And I log in as "student2" From 03035dcf717d553c10a01931a76a1bbecaf68d46 Mon Sep 17 00:00:00 2001 From: Angelia Dela Cruz Date: Tue, 28 Feb 2023 17:12:48 +0800 Subject: [PATCH 2/2] MDL-77413 Behat: Minor changes to optimise the existing tests --- .../behat/group_description_picture.feature | 26 +++++-------------- 1 file changed, 6 insertions(+), 20 deletions(-) diff --git a/group/tests/behat/group_description_picture.feature b/group/tests/behat/group_description_picture.feature index 14298dcda4b..64b2d9e5cc4 100644 --- a/group/tests/behat/group_description_picture.feature +++ b/group/tests/behat/group_description_picture.feature @@ -21,9 +21,7 @@ Feature: The description and picture of a group can be viewed by students and te @javascript @_file_upload Scenario: A student can see the group description and picture when visible groups are set. Teachers can see group details. - Given I log in as "teacher1" - And I am on "Course 1" course homepage - And I navigate to "Settings" in current page administration + Given I am on the "Course 1" "course editing" page logged in as "teacher1" And I set the following fields to these values: | Group mode | Visible groups | And I press "Save and display" @@ -41,7 +39,6 @@ Feature: The description and picture of a group can be viewed by students and te And I press "Save changes" And I add "Student 1 (student1@example.com)" user to "Group A" group members And I add "Student 2 (student2@example.com)" user to "Group B" group members - And I am on "Course 1" course homepage And I navigate to course participants And I click on "Student 1" "link" in the "participants" "table" And I click on "Group A" "link" @@ -56,18 +53,14 @@ Feature: The description and picture of a group can be viewed by students and te And I click on "Group B" "link" And I should see "Student 2" in the "participants" "table" And ".groupinfobox" "css_element" should not exist - And I log out - When I log in as "student1" - And I am on "Course 1" course homepage + When I am on the "Course 1" course page logged in as student1 And I navigate to course participants And I click on "Student 1" "link" in the "participants" "table" And I click on "Group A" "link" # As student, confirm that group description and picture is displayed Then I should see "Description for Group A" And "//img[@class='grouppicture']" "xpath_element" should exist - And I log out - And I log in as "student2" - And I am on "Course 1" course homepage + And I am on the "Course 1" course page logged in as student2 And I navigate to course participants And I click on "Student 2" "link" in the "participants" "table" And I click on "Group B" "link" @@ -76,9 +69,7 @@ Feature: The description and picture of a group can be viewed by students and te @javascript @_file_upload Scenario: A student can not see the group description and picture when separate groups are set. Teachers can see group details. - Given I log in as "teacher1" - And I am on "Course 1" course homepage - And I navigate to "Settings" in current page administration + Given I am on the "Course 1" "course editing" page logged in as "teacher1" And I set the following fields to these values: | Group mode | Separate groups | And I press "Save and display" @@ -96,7 +87,6 @@ Feature: The description and picture of a group can be viewed by students and te And I press "Save changes" And I add "Student 1 (student1@example.com)" user to "Group A" group members And I add "Student 2 (student2@example.com)" user to "Group B" group members - And I am on "Course 1" course homepage And I navigate to course participants And I click on "Student 1" "link" in the "participants" "table" And I click on "Group A" "link" @@ -110,9 +100,7 @@ Feature: The description and picture of a group can be viewed by students and te And I click on "Student 2" "link" in the "participants" "table" And I click on "Group B" "link" And ".groupinfobox" "css_element" should not exist - And I log out - When I log in as "student1" - And I am on "Course 1" course homepage + When I am on the "Course 1" course page logged in as student1 And I navigate to course participants And I click on "Student 1" "link" in the "participants" "table" And I click on "Group A" "link" @@ -121,9 +109,7 @@ Feature: The description and picture of a group can be viewed by students and te Then I should not see "Description for Group A" And "//img[@class='grouppicture']" "xpath_element" should not exist And ".groupinfobox" "css_element" should not exist - And I log out - And I log in as "student2" - And I am on "Course 1" course homepage + When I am on the "Course 1" course page logged in as student2 And I navigate to course participants And I click on "Student 2" "link" in the "participants" "table" And I click on "Group B" "link"