MDL-62834 behat: new step for enabling filters

This commit is contained in:
Tim Hunt 2018-06-29 11:22:04 +01:00
parent f61ee4e857
commit 8aedf6d478
2 changed files with 67 additions and 5 deletions

View File

@ -0,0 +1,66 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* 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_name>(?:[^"]|\\")*)" 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);
}
}

View File

@ -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