mirror of
https://github.com/moodle/moodle.git
synced 2025-08-05 08:56:36 +02:00
Merge branch 'MDL-66979-master-7' of git://github.com/andrewnicols/moodle
This commit is contained in:
commit
9a4cfdeabb
8 changed files with 53 additions and 11 deletions
|
@ -5,7 +5,10 @@ Feature: Within a moodle instance, an administrator should be able to modify lan
|
||||||
I need to be able to access and change values in the the language customisation of the language pack.
|
I need to be able to access and change values in the the language customisation of the language pack.
|
||||||
|
|
||||||
Background:
|
Background:
|
||||||
Given I log in as "admin"
|
# This is a very slow running test and on slow databases can take minutes to complete.
|
||||||
|
Given I mark this test as slow setting a timeout factor of 4
|
||||||
|
|
||||||
|
And I log in as "admin"
|
||||||
And I navigate to "Language > Language customisation" in site administration
|
And I navigate to "Language > Language customisation" in site administration
|
||||||
And I set the field "lng" to "en"
|
And I set the field "lng" to "en"
|
||||||
And I press "Open language pack for editing"
|
And I press "Open language pack for editing"
|
||||||
|
|
|
@ -4,6 +4,10 @@ Feature: Within a moodle instance, an administrator should be able to export mod
|
||||||
As an admin
|
As an admin
|
||||||
I need to be able to export the php-files of the language customisation of a language.
|
I need to be able to export the php-files of the language customisation of a language.
|
||||||
|
|
||||||
|
Background:
|
||||||
|
# This is a very slow running feature and on slow databases can take minutes to complete.
|
||||||
|
Given I mark this test as slow setting a timeout factor of 4
|
||||||
|
|
||||||
@javascript
|
@javascript
|
||||||
Scenario: Export button should not appear if no customization is made
|
Scenario: Export button should not appear if no customization is made
|
||||||
Given I log in as "admin"
|
Given I log in as "admin"
|
||||||
|
|
|
@ -5,7 +5,10 @@ Feature: Within a moodle instance, an administrator should be able to import mod
|
||||||
I need to be able to import the zips and php files of the language customisation of a language.
|
I need to be able to import the zips and php files of the language customisation of a language.
|
||||||
|
|
||||||
Background:
|
Background:
|
||||||
Given I log in as "admin"
|
# This is a very slow running test and on slow databases can take minutes to complete.
|
||||||
|
Given I mark this test as slow setting a timeout factor of 4
|
||||||
|
|
||||||
|
And I log in as "admin"
|
||||||
And I navigate to "Language > Language customisation" in site administration
|
And I navigate to "Language > Language customisation" in site administration
|
||||||
And I set the field "lng" to "en"
|
And I set the field "lng" to "en"
|
||||||
And I click on "Import custom strings" "button"
|
And I click on "Import custom strings" "button"
|
||||||
|
|
|
@ -5,8 +5,11 @@ Feature: Within a moodle instance, an administrator should be able to import lan
|
||||||
I need to be able to import only some language customisation strings depending on some conditions.
|
I need to be able to import only some language customisation strings depending on some conditions.
|
||||||
|
|
||||||
Background:
|
Background:
|
||||||
|
# This is a very slow running feature and on slow databases can take minutes to complete.
|
||||||
|
Given I mark this test as slow setting a timeout factor of 4
|
||||||
|
|
||||||
# Add one customization.
|
# Add one customization.
|
||||||
Given I log in as "admin"
|
And I log in as "admin"
|
||||||
And I navigate to "Language > Language customisation" in site administration
|
And I navigate to "Language > Language customisation" in site administration
|
||||||
And I set the field "lng" to "en"
|
And I set the field "lng" to "en"
|
||||||
And I press "Open language pack for editing"
|
And I press "Open language pack for editing"
|
||||||
|
|
|
@ -5,7 +5,10 @@ Feature: View the httpsreplace report
|
||||||
I need to be able to automatically replace http links
|
I need to be able to automatically replace http links
|
||||||
|
|
||||||
Background: Create some http links
|
Background: Create some http links
|
||||||
Given I am on site homepage
|
# This is a slow running feature and on slow databases can take over 30 seconds to complete.
|
||||||
|
Given I mark this test as slow setting a timeout factor of 2
|
||||||
|
|
||||||
|
And I am on site homepage
|
||||||
And the following "courses" exist:
|
And the following "courses" exist:
|
||||||
| fullname | shortname | category | summary |
|
| fullname | shortname | category | summary |
|
||||||
| Course 1 | C1 | 0 | <img src="http://intentionally.unavailable/test.png"> <img src="http://download.moodle.org/unittest/test.jpg"> |
|
| Course 1 | C1 | 0 | <img src="http://intentionally.unavailable/test.png"> <img src="http://download.moodle.org/unittest/test.jpg"> |
|
||||||
|
|
|
@ -1355,4 +1355,25 @@ EOF;
|
||||||
|
|
||||||
return $this->evaluate_script($script);
|
return $this->evaluate_script($script);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the timeout factor for the remaining lifetime of the session.
|
||||||
|
*
|
||||||
|
* @param int $factor A multiplication factor to use when calculating the timeout
|
||||||
|
*/
|
||||||
|
public function set_test_timeout_factor(int $factor = 1): void {
|
||||||
|
$driver = $this->getSession()->getDriver();
|
||||||
|
|
||||||
|
if (!$driver instanceof \OAndreyev\Mink\Driver\WebDriver) {
|
||||||
|
// This is a feature of the OAndreyev MinkWebDriver.
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Use `get_real_timeout` to multiply the timeout by the global behat_increasetimeout value, and again by the
|
||||||
|
// factor specified.
|
||||||
|
$this->getSession()->getDriver()->setTimeouts([
|
||||||
|
// The standard script timeout is 30000 ms. (aka, 30 seconds).
|
||||||
|
'script' => self::get_real_timeout(30) * 1000 * $factor,
|
||||||
|
]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2065,4 +2065,15 @@ EOF;
|
||||||
$localurl = new moodle_url($localurl);
|
$localurl = new moodle_url($localurl);
|
||||||
$this->getSession()->visit($this->locate_path($localurl->out_as_local_url(false)));
|
$this->getSession()->visit($this->locate_path($localurl->out_as_local_url(false)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Increase the webdriver timeouts.
|
||||||
|
*
|
||||||
|
* This should be reset between scenarios, or can be called again to decrease the timeouts.
|
||||||
|
*
|
||||||
|
* @Given I mark this test as slow setting a timeout factor of :factor
|
||||||
|
*/
|
||||||
|
public function i_mark_this_test_as_long_running(int $factor = 2): void {
|
||||||
|
$this->set_test_timeout_factor($factor);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -303,13 +303,7 @@ EOF;
|
||||||
protected function start_session(): void {
|
protected function start_session(): void {
|
||||||
$this->getSession()->start();
|
$this->getSession()->start();
|
||||||
|
|
||||||
if ($this->running_javascript()) { // Goutte driver doesn't implement this.
|
$this->set_test_timeout_factor(1);
|
||||||
$this->getSession()->getDriver()->setTimeouts([
|
|
||||||
// The standard script timeout is 30000 ms. (aka, 30 seconds).
|
|
||||||
// Use `get_real_timeout` to multiply this by the behat increased timeout factor.
|
|
||||||
'script' => self::get_real_timeout(30) * 1000,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue