mirror of
https://github.com/moodle/moodle.git
synced 2025-01-29 11:46:19 +01:00
MDL-78782 behat: optimize with editing mode step
The current I am on course homepage with editing mode loads twice the course page. This patch prevents this from happening by going directly to editmode.php.
This commit is contained in:
parent
533ce56743
commit
dcd7261175
@ -28,7 +28,12 @@ $setmode = optional_param('setmode', false, PARAM_BOOL);
|
|||||||
$contextid = required_param('context', PARAM_INT);
|
$contextid = required_param('context', PARAM_INT);
|
||||||
$pageurl = required_param('pageurl', PARAM_LOCALURL);
|
$pageurl = required_param('pageurl', PARAM_LOCALURL);
|
||||||
|
|
||||||
require_sesskey();
|
// Behat requires JS to get the session. To allow goutte
|
||||||
|
// to enable edit mode sesskey validation is skipped for behat scripts.
|
||||||
|
if (!defined('BEHAT_SITE_RUNNING')) {
|
||||||
|
require_sesskey();
|
||||||
|
}
|
||||||
|
|
||||||
require_login();
|
require_login();
|
||||||
|
|
||||||
$context = \context_helper::instance_by_id($contextid);
|
$context = \context_helper::instance_by_id($contextid);
|
||||||
|
@ -941,22 +941,20 @@ class behat_navigation extends behat_base {
|
|||||||
* @param string $onoroff Whehter to switch editing on, or off.
|
* @param string $onoroff Whehter to switch editing on, or off.
|
||||||
*/
|
*/
|
||||||
public function i_am_on_course_homepage_with_editing_mode_set_to(string $coursefullname, string $onoroff): void {
|
public function i_am_on_course_homepage_with_editing_mode_set_to(string $coursefullname, string $onoroff): void {
|
||||||
$courseid = $this->get_course_id($coursefullname);
|
if ($onoroff !== 'on' && $onoroff !== 'off') {
|
||||||
$url = new moodle_url('/course/view.php', ['id' => $courseid]);
|
throw new coding_exception("Unknown editing mode '{$onoroff}'. Accepted values are 'on' and 'off'");
|
||||||
|
|
||||||
// Visit the course page.
|
|
||||||
$this->execute('behat_general::i_visit', [$url]);
|
|
||||||
|
|
||||||
switch ($onoroff) {
|
|
||||||
case 'on':
|
|
||||||
$this->execute('behat_navigation::i_turn_editing_mode_on');
|
|
||||||
break;
|
|
||||||
case 'off':
|
|
||||||
$this->execute('behat_navigation::i_turn_editing_mode_off');
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
throw new \coding_exception("Unknown editing mode '{$onoroff}'. Accepted values are 'on' and 'off'");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$courseid = $this->get_course_id($coursefullname);
|
||||||
|
$context = context_course::instance($courseid);
|
||||||
|
$courseurl = new moodle_url('/course/view.php', ['id' => $courseid]);
|
||||||
|
|
||||||
|
$editmodeurl = new moodle_url('/editmode.php', [
|
||||||
|
'context' => $context->id,
|
||||||
|
'pageurl' => $courseurl->out(true),
|
||||||
|
'setmode' => ($onoroff === 'on' ? 1 : 0),
|
||||||
|
]);
|
||||||
|
$this->execute('behat_general::i_visit', [$editmodeurl]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user