Merge branch 'MDL-38939_master' of git://github.com/dmonllao/moodle

This commit is contained in:
Eloy Lafuente (stronk7) 2013-04-11 00:32:40 +02:00
commit 2cef0f7c33
2 changed files with 57 additions and 2 deletions

View file

@ -58,7 +58,7 @@ class behat_admin extends behat_base {
// We expect admin block to be visible, otherwise go to homepage.
if (!$this->getSession()->getPage()->find('css', '.block_settings')) {
$this->getSession()->visit($this->locate_path('/'));
$this->getSession()->wait(self::TIMEOUT, '(document.readyState === "complete")');
$this->wait(self::TIMEOUT, '(document.readyState === "complete")');
}
// Search by label.
@ -67,7 +67,7 @@ class behat_admin extends behat_base {
$submitsearch = $this->find('css', 'form.adminsearchform input[type=submit]');
$submitsearch->press();
$this->getSession()->wait(self::TIMEOUT, '(document.readyState === "complete")');
$this->wait(self::TIMEOUT, '(document.readyState === "complete")');
// Admin settings does not use the same DOM structure than other moodle forms
// but we also need to use lib/behat/form_field/* to deal with the different moodle form elements.
@ -94,4 +94,16 @@ class behat_admin extends behat_base {
}
}
/**
* Waits with the provided params if we are running a JS session.
*
* @param int $timeout
* @param string $javascript
* @return void
*/
protected function wait($timeout, $javascript = false) {
if ($this->running_javascript()) {
$this->getSession()->wait($timeout, $javascript);
}
}
}

View file

@ -0,0 +1,43 @@
@mod_glossary @mod
Feature: A teacher can set whether glossary entries are always editable or not
In order to ensure students think before adding new entries
As a moodle teacher
I need to prevent entries to be always editable
@javascript
Scenario: Glossary entries are not always editable
Given the following "users" exists:
| username | firstname | lastname | email |
| teacher1 | Teacher | 1 | teacher1@asd.com |
| student1 | Student | 1 | student1@asd.com |
And the following "courses" exists:
| fullname | shortname | category |
| Course 1 | C1 | 0 |
And the following "course enrolments" exists:
| user | course | role |
| teacher1 | C1 | editingteacher |
| student1 | C1 | student |
And I log in as "admin"
And I set the following administration settings values:
| Maximum time to edit posts | 1 minutes |
And I log out
And I log in as "teacher1"
And I follow "Course 1"
And I turn editing mode on
And I add a "Glossary" to section "1" and I fill the form with:
| Name | Test glossary name |
| Description | Test glossary description |
| Always allow editing | No |
And I log out
And I log in as "student1"
And I follow "Course 1"
And I follow "Test glossary name"
When I add a glossary entry with the following data:
| Concept | Test concept name |
| Definition | Test concept description |
Then "Delete: Test concept name" "link" should exists
And "Edit: Test concept name" "link" should exists
And I wait "65" seconds
And I reload the page
Then "Delete: Test concept name" "link" should not exists
And "Edit: Test concept name" "link" should not exists