From ab118d48f51e384614735199922186c5af2aa286 Mon Sep 17 00:00:00 2001 From: Angelia Dela Cruz Date: Fri, 20 Oct 2023 15:53:34 +0800 Subject: [PATCH] MDL-79792 core_badges: Behat test for awarding badge to group members --- badges/tests/behat/award_badge_groups.feature | 94 +++++++++++++++++++ 1 file changed, 94 insertions(+) diff --git a/badges/tests/behat/award_badge_groups.feature b/badges/tests/behat/award_badge_groups.feature index 31a7584d6ccbc..8dfbe06169266 100644 --- a/badges/tests/behat/award_badge_groups.feature +++ b/badges/tests/behat/award_badge_groups.feature @@ -119,3 +119,97 @@ Feature: Award badges with separate groups And I press "Award badge" # Teacher 2 shouldn't be able to go further Then I should see "Sorry, but you need to be part of a group to see this page." + + @javascript + Scenario: Editing teacher can award badge to members of separate groups + Given I am on the "Course 1" course page logged in as teacher1 + And I navigate to "Badges > Manage badges" in current page administration + And I follow "Course Badge" + And I press "Award badge" + When I set the field "role" to "Teacher" + # Confirm that editing teacher sees a separate groups dropdown menu. + Then "Separate groups" "select" should exist + And I should see "All participants" in the "Separate groups" "select" + # Confirm that all participants are displayed when All participants is selected. + And I should see "Student 1" in the "potentialrecipients[]" "select" + And I should see "Student 2" in the "potentialrecipients[]" "select" + And I should see "Teacher 1" in the "potentialrecipients[]" "select" + And I should see "Teacher 2" in the "potentialrecipients[]" "select" + And I set the field "Separate groups" to "Class A" + # Confirm that only members of selected group are displayed + And I should not see "Student 1" in the "potentialrecipients[]" "select" + And I should not see "Teacher 1" in the "potentialrecipients[]" "select" + And I should see "Student 2" in the "potentialrecipients[]" "select" + And I should see "Teacher 2" in the "potentialrecipients[]" "select" + And I set the field "Separate groups" to "Class B" + And I should not see "Student 2" in the "potentialrecipients[]" "select" + And I should not see "Teacher 2" in the "potentialrecipients[]" "select" + And I should see "Student 1" in the "potentialrecipients[]" "select" + And I should see "Teacher 1" in the "potentialrecipients[]" "select" + + @javascript + Scenario Outline: Teacher can award badge to members of visible groups + Given I am on the "Course 1" "course editing" page logged in as teacher1 + And I expand all fieldsets + # Set the group mode to visible groups. + And I set the field "Group mode" to "Visible groups" + And I press "Save and display" + When I am on the "Course 1" course page logged in as + And I navigate to "Badges > Manage badges" in current page administration + And I follow "Course Badge" + And I press "Award badge" + And I set the field "role" to "" + # Confirm that teachers see a visible groups dropdown menu. + Then "Visible groups" "select" should exist + # Confirm that My groups option group exists. + And "optgroup[label='My groups']" "css_element" should exist in the "select[name='group']" "css_element" + # Confirm that Other groups option group exists. + And "optgroup[label='Other groups']" "css_element" should exist in the "select[name='group']" "css_element" + # Confirm that all participants are displayed when All participants is selected. + And I set the field "Visible groups" to "All participants" + And I should see "Student 1" in the "potentialrecipients[]" "select" + And I should see "Student 2" in the "potentialrecipients[]" "select" + And I should see "Teacher 1" in the "potentialrecipients[]" "select" + And I should see "Teacher 2" in the "potentialrecipients[]" "select" + # Confirm that only members of selected group are displayed. + And I set the field "Visible groups" to "Class A" + And I should not see "Student 1" in the "potentialrecipients[]" "select" + And I should not see "Teacher 1" in the "potentialrecipients[]" "select" + And I should see "Student 2" in the "potentialrecipients[]" "select" + And I should see "Teacher 2" in the "potentialrecipients[]" "select" + And I set the field "Visible groups" to "Class B" + And I should not see "Student 2" in the "potentialrecipients[]" "select" + And I should not see "Teacher 2" in the "potentialrecipients[]" "select" + And I should see "Student 1" in the "potentialrecipients[]" "select" + And I should see "Teacher 1" in the "potentialrecipients[]" "select" + + Examples: + | loggedinuser | awarder | + | teacher1 | Teacher | + | teacher2 | Non-editing teacher | + + @javascript + Scenario Outline: Teacher can award badge to members when group mode is set to no groups + Given I am on the "Course 1" "course editing" page logged in as teacher1 + And I expand all fieldsets + # Set the group mode to no groups. + And I set the field "Group mode" to "No groups" + And I press "Save and display" + When I am on the "Course 1" course page logged in as + And I navigate to "Badges > Manage badges" in current page administration + And I follow "Course Badge" + And I press "Award badge" + And I set the field "role" to "" + # Confirm that no group dropdowns don't exist. + Then "Separate groups" "select" should not exist + And "Visible groups" "select" should not exist + # Confirm all participants are displayed. + And I should see "Student 1" in the "potentialrecipients[]" "select" + And I should see "Student 2" in the "potentialrecipients[]" "select" + And I should see "Teacher 1" in the "potentialrecipients[]" "select" + And I should see "Teacher 2" in the "potentialrecipients[]" "select" + + Examples: + | loggedinuser | awarder | + | teacher1 | Teacher | + | teacher2 | Non-editing teacher |