diff --git a/lib/tests/behat/behat_general.php b/lib/tests/behat/behat_general.php index f8c6cb664a4..1455857d583 100644 --- a/lib/tests/behat/behat_general.php +++ b/lib/tests/behat/behat_general.php @@ -1559,4 +1559,27 @@ class behat_general extends behat_base { $node = $this->get_selected_node($selectortype, $element); $this->getSession()->getDriver()->post_key("\xEE\x80\x84", $node->getXpath()); } + + /** + * Checks if database family used is using one of the specified, else skip. (mysql, postgres, mssql, oracle, etc.) + * + * @Given /^database family used is one of the following:$/ + * @param TableNode $databasefamilies list of database. + * @return void. + * @throws \Moodle\BehatExtension\Exception\SkippedException + */ + public function database_family_used_is_one_of_the_following(TableNode $databasefamilies) { + global $DB; + + $dbfamily = $DB->get_dbfamily(); + + // Check if used db family is one of the specified ones. If yes then return. + foreach ($databasefamilies->getRows() as $dbfamilytocheck) { + if ($dbfamilytocheck[0] == $dbfamily) { + return; + } + } + + throw new \Moodle\BehatExtension\Exception\SkippedException(); + } } diff --git a/mod/forum/tests/behat/advanced_search.feature b/mod/forum/tests/behat/advanced_search.feature index 5946e7fc80d..e38968ee16c 100644 --- a/mod/forum/tests/behat/advanced_search.feature +++ b/mod/forum/tests/behat/advanced_search.feature @@ -56,7 +56,10 @@ Feature: The forum search allows users to perform advanced searches for forum po And I should not see "My subjective" Scenario: Perform an advanced search using whole words - Given I log in as "student1" + Given database family used is one of the following: + | mysql | + | postgres | + And I log in as "student1" And I follow "Course 1" And I follow "Announcements" And I press "Search forums"