From 5378285a9aec21660d2ed936d2d360aab7016007 Mon Sep 17 00:00:00 2001 From: Simey Lameze Date: Fri, 24 Nov 2023 12:29:39 +0800 Subject: [PATCH 1/3] MDL-80151 behat: add calendar step to navigate to specific view --- calendar/tests/behat/behat_calendar.php | 17 +++++++++++++++++ .../tests/behat/chat_calendar_events.feature | 2 +- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/calendar/tests/behat/behat_calendar.php b/calendar/tests/behat/behat_calendar.php index 44b11d31e276a..a350970faed02 100644 --- a/calendar/tests/behat/behat_calendar.php +++ b/calendar/tests/behat/behat_calendar.php @@ -179,4 +179,21 @@ public function i_am_viewing_site_calendar() { $url = new moodle_url('/calendar/view.php', ['view' => 'month']); $this->execute('behat_general::i_visit', [$url]); } + + /** + * Navigate to a specific view in the calendar. + * + * @Given /^I am viewing calendar in "([^"]+)" view$/ + * @param string $view The calendar view ('month', 'day' and 'upcoming') to navigate to. + * @return void + */ + public function i_am_viewing_calendar_in_view(string $view): void { + + if (!in_array($view, ['month', 'day', 'upcoming'])) { + throw new Exception("Invalid calendar view. Allowed values are: 'month', 'day' and 'upcoming'"); + } + + $url = new moodle_url('/calendar/view.php', ['view' => $view]); + $this->execute('behat_general::i_visit', [$url]); + } } diff --git a/mod/chat/tests/behat/chat_calendar_events.feature b/mod/chat/tests/behat/chat_calendar_events.feature index 164a576709f87..a8d2c151755b4 100644 --- a/mod/chat/tests/behat/chat_calendar_events.feature +++ b/mod/chat/tests/behat/chat_calendar_events.feature @@ -22,7 +22,7 @@ Feature: Chat calendar entries | activity | name | intro | course | idnumber | schedule | | chat | Test chat name | Test chat description | C1 | chat1 | 0 | And I log in as "teacher1" - When I follow "Calendar" in the user menu + When I am viewing calendar in "upcoming" view Then I should not see "Test chat name" Scenario: Create a chat activity and publish the start date to the calendar From 3b8b8d7d848363b92118b2d90d3e409321f22340 Mon Sep 17 00:00:00 2001 From: Angelia Dela Cruz Date: Mon, 20 Nov 2023 18:24:18 +0800 Subject: [PATCH 2/3] MDL-80151 mod_chat: Behat for chat repeat times and past session view --- .../tests/behat/chat_calendar_events.feature | 23 ++++----- .../behat/chat_view_past_session.feature | 47 +++++++++++++++++++ 2 files changed, 59 insertions(+), 11 deletions(-) create mode 100644 mod/chat/tests/behat/chat_view_past_session.feature diff --git a/mod/chat/tests/behat/chat_calendar_events.feature b/mod/chat/tests/behat/chat_calendar_events.feature index a8d2c151755b4..bc5f245b39cb9 100644 --- a/mod/chat/tests/behat/chat_calendar_events.feature +++ b/mod/chat/tests/behat/chat_calendar_events.feature @@ -17,18 +17,19 @@ Feature: Chat calendar entries | teacher1 | C1 | editingteacher | | student1 | C1 | student | - Scenario: Create a chat activity and do not publish the start date to the calendar + Scenario Outline: Create a chat activity with repeated chat times set + # Create an activity with repeated chat times Given the following "activities" exist: - | activity | name | intro | course | idnumber | schedule | - | chat | Test chat name | Test chat description | C1 | chat1 | 0 | + | activity | course | name | schedule | + | chat | C1 | Chat 1 | | And I log in as "teacher1" + # Confirm Chat activity visibility based on schedule When I am viewing calendar in "upcoming" view - Then I should not see "Test chat name" + Then I see "Chat 1" - Scenario: Create a chat activity and publish the start date to the calendar - Given the following "activities" exist: - | activity | name | intro | course | idnumber | schedule | - | chat | Test chat name | Test chat description | C1 | chat1 | 1 | - And I log in as "teacher1" - When I follow "Calendar" in the user menu - Then I should see "Test chat name" + Examples: + | scheduleset | chatvisibility | + | 0 | should not | + | 1 | should | + | 2 | should | + | 3 | should | diff --git a/mod/chat/tests/behat/chat_view_past_session.feature b/mod/chat/tests/behat/chat_view_past_session.feature new file mode 100644 index 0000000000000..2b09be78b0e33 --- /dev/null +++ b/mod/chat/tests/behat/chat_view_past_session.feature @@ -0,0 +1,47 @@ +@mod @mod_chat @javascript +Feature: View past chat sessions + In order for students to view past chat sessions + As a teacher + I need to be able to change the mod/chat:readlog permission for students + + Background: + Given the following "users" exist: + | username | firstname | lastname | email | + | teacher1 | Teacher | One | teacher1@example.com | + | student1 | Student | One | student1@example.com | + And the following "course" exist: + | fullname | shortname | + | Course 1 | C1 | + And the following "course enrolments" exist: + | user | course | role | + | teacher1 | C1 | editingteacher | + | student1 | C1 | student | + + Scenario Outline: View past chat sessions + # Display or hide past chat session based on example data + Given the following "activities" exist: + | activity | course | name | studentlogs | + | chat | C1 | Chat 1 | | + And I am on the "Chat 1" "chat activity" page logged in as teacher1 + # Display or hide past chat session by default based on mod/chat:readlog setting + And the following "role capability" exists: + | role | student | + | mod/chat:readlog | | + # Enter chat activity to create a session + And I click on "Enter the chat" "link" + # Close chat window + When I close all opened windows + And I reload the page + # Confirm that past chat sessions is always visible for teacher + Then I should see "Past sessions" + # Confirm past chat sessions visibility for student based on settings + And I am on the "Chat 1" "chat activity" page logged in as student1 + And I see "Past sessions" + + # Regardless of studentlogvalue value if readpermission is allowed, then Past sessions will be visible for students + Examples: + | studentlogvalue | readpermission | sessionvisibility | + | 0 | allow | should | + | 1 | allow | should | + | 0 | prohibit | should not | + | 1 | prohibit | should | From dd2c19eb09a8cfa0b61bf7b1a10c585edfbf1d9b Mon Sep 17 00:00:00 2001 From: Huong Nguyen Date: Wed, 20 Dec 2023 14:54:38 +0700 Subject: [PATCH 3/3] MDL-80151 behat: Improve viewing site calendar step --- calendar/tests/behat/behat_calendar.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/calendar/tests/behat/behat_calendar.php b/calendar/tests/behat/behat_calendar.php index a350970faed02..fc53c18233caa 100644 --- a/calendar/tests/behat/behat_calendar.php +++ b/calendar/tests/behat/behat_calendar.php @@ -176,8 +176,7 @@ private function view_the_calendar(string $type, int $day, int $month, int $year * @return void */ public function i_am_viewing_site_calendar() { - $url = new moodle_url('/calendar/view.php', ['view' => 'month']); - $this->execute('behat_general::i_visit', [$url]); + $this->i_am_viewing_calendar_in_view('month'); } /**