diff --git a/lib/tests/behat/behat_filters.php b/lib/tests/behat/behat_filters.php new file mode 100644 index 00000000000..ce732d17b01 --- /dev/null +++ b/lib/tests/behat/behat_filters.php @@ -0,0 +1,66 @@ +. + +/** + * Steps definitions related to filters. + * + * @package core + * @category test + * @copyright 2018 the Open University + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +// NOTE: no MOODLE_INTERNAL test here, this file may be required by behat before including /config.php. + +require_once(__DIR__ . '/../../behat/behat_base.php'); +require_once(__DIR__ . '/../../filterlib.php'); + + +/** + * Steps definitions related to filters. + * + * @package core + * @category test + * @copyright 2018 the Open University + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +class behat_filters extends behat_base { + + /** + * Set the global filter configuration. + * + * @Given /^the "(?P(?:[^"]|\\")*)" filter is "(on|off|disabled)"$/ + * + * @param string $filtername the name of a filter, e.g. 'glossary'. + * @param string $statename 'on', 'off' or 'disabled'. + */ + public function the_filter_is($filtername, $statename) { + switch ($statename) { + case 'on': + $state = TEXTFILTER_ON; + break; + case 'off': + $state = TEXTFILTER_OFF; + break; + case 'disabled': + $state = TEXTFILTER_DISABLED; + break; + default: + throw new coding_exception('Unknown filter state: ' . $statename); + } + filter_set_global_state($filtername, $state); + } +} diff --git a/mod/glossary/tests/behat/categories.feature b/mod/glossary/tests/behat/categories.feature index fa458ae50ce..665f2c707f2 100644 --- a/mod/glossary/tests/behat/categories.feature +++ b/mod/glossary/tests/behat/categories.feature @@ -23,11 +23,7 @@ Feature: Glossary entries can be organised in categories And the following "activities" exist: | activity | name | intro | course | idnumber | | label | name | check autolinking of CategoryAutoLinks and CategoryNoLinks text | C1 | label1 | -# Log in as admin and enable autolinking filter - And I log in as "admin" - And I navigate to "Plugins > Filters > Manage filters" in site administration - And I click on "On" "option" in the "Glossary auto-linking" "table_row" - And I log out + And the "glossary" filter is "on" # Log in as a teacher and make sure nothing is yet autolinked And I log in as "teacher1" When I am on "Course 1" course homepage