/**
* Behat grade related steps definitions overrides.
*
+ * @package theme_bootstrapbase
+ * @category test
* @copyright 2016 Damyon Wiese
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
use Behat\Gherkin\Node\TableNode as TableNode;
-class behat_theme_boost_behat_grade extends behat_grade {
+/**
+ * Behat grade overrides.
+ *
+ * @package theme_bootstrapbase
+ * @category test
+ * @copyright 2016 Damyon Wiese
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+class behat_theme_bootstrapbase_behat_grade extends behat_grade {
public function i_set_the_following_settings_for_grade_item($gradeitem, TableNode $data) {
$gradeitem = behat_context_helper::escape($gradeitem);
if ($this->running_javascript()) {
- $xpath = "//tr[contains(.,$gradeitem)]//*[contains(@class,'moodle-actionmenu')]";
+ $xpath = "//tr[contains(.,$gradeitem)]//*[contains(@class,'moodle-actionmenu')]//a[contains(@class,'toggle-display')]";
if ($this->getSession()->getPage()->findAll('xpath', $xpath)) {
- $this->execute("behat_action_menu::i_open_the_action_menu_in",
- array("//tr[contains(.,$gradeitem)]",
- "xpath_element"));
+ $this->execute("behat_general::i_click_on", array($this->escape($xpath), "xpath_element"));
}
}
$savechanges = get_string('savechanges', 'grades');
$edit = behat_context_helper::escape(get_string('edit') . ' ');
- $linkxpath = "//a[./*[contains(concat(' ', normalize-space(@class), ' '), ' icon ') " .
- "and starts-with(@title,$edit) and contains(@title,$gradeitem)]]";
+ $linkxpath = "//a[./img[starts-with(@title,$edit) and contains(@title,$gradeitem)]]";
$this->execute("behat_general::i_click_on", array($this->escape($linkxpath), "xpath_element"));
$this->execute("behat_forms::i_set_the_following_fields_to_these_values", $data);
$gradeitem = behat_context_helper::escape($gradeitem);
if ($this->running_javascript()) {
- $xpath = "//tr[contains(.,$gradeitem)]//*[contains(@class,'moodle-actionmenu')]";
+ $xpath = "//tr[contains(.,$gradeitem)]//*[contains(@class,'moodle-actionmenu')]//a[contains(@class,'toggle-display')]";
if ($this->getSession()->getPage()->findAll('xpath', $xpath)) {
- $this->execute("behat_action_menu::i_open_the_action_menu_in",
- array("//tr[contains(.,$gradeitem)]",
- "xpath_element"));
+ $this->execute("behat_general::i_click_on", array($this->escape($xpath), "xpath_element"));
}
}
// Going to edit calculation.
$savechanges = get_string('savechanges', 'grades');
$edit = behat_context_helper::escape(get_string('editcalculation', 'grades'));
- $linkxpath = "//a[./*[contains(concat(' ', normalize-space(@class), ' '), ' icon ') " .
- "and starts-with(@title,$edit) and contains(@title,$gradeitem)]]";
+ $linkxpath = "//a[./img[starts-with(@title,$edit) and contains(@title,$gradeitem)]]";
$this->execute("behat_general::i_click_on", array($this->escape($linkxpath), "xpath_element"));
// Mapping names to idnumbers.
// This xpath looks for course, categories and items with the provided name.
// Grrr, we can't equal in categoryitem and courseitem because there is a line jump...
$inputxpath = "//input[@class='idnumber'][" .
- "parent::li[@class='item'][text()='" . $gradeitem . "']" .
- " or " .
- "parent::li[@class='categoryitem' or @class='courseitem']" .
- "/parent::ul/parent::li[starts-with(text(),'" . $gradeitem . "')]" .
- "]";
+ "parent::li[@class='item'][text()='" . $gradeitem . "']" .
+ " or " .
+ "parent::li[@class='categoryitem' or @class='courseitem']/parent::ul/parent::li[starts-with(text(),'" .
+ $gradeitem . "')]]";
$this->execute('behat_forms::i_set_the_field_with_xpath_to', array($inputxpath, $idnumber));
}
$gradeitem = behat_context_helper::escape($gradeitem);
if ($this->running_javascript()) {
- $xpath = "//tr[contains(.,$gradecategorytotal)]//*[contains(@class,'moodle-actionmenu')]";
+ $xpath = "//tr[contains(.,$gradecategorytotal)]//*[contains(@class,'moodle-actionmenu')]" .
+ "//a[contains(@class,'toggle-display')]";
if ($this->getSession()->getPage()->findAll('xpath', $xpath)) {
- $xpath = "//tr[contains(.,$gradecategorytotal)]";
- $this->execute("behat_action_menu::i_open_the_action_menu_in", array($xpath, "xpath_element"));
+ $this->execute("behat_general::i_click_on", array($this->escape($xpath), "xpath_element"));
}
}
// Going to edit calculation.
$savechanges = get_string('savechanges', 'grades');
$edit = behat_context_helper::escape(get_string('editcalculation', 'grades'));
- $linkxpath = "//a[./*[contains(concat(' ', normalize-space(@class), ' '), ' icon ') " .
- "and starts-with(@title,$edit) and contains(@title,$gradeitem)]]";
+ $linkxpath = "//a[./img[starts-with(@title,$edit) and contains(@title,$gradeitem)]]";
$this->execute("behat_general::i_click_on", array($this->escape($linkxpath), "xpath_element"));
// Mapping names to idnumbers.
// This xpath looks for course, categories and items with the provided name.
// Grrr, we can't equal in categoryitem and courseitem because there is a line jump...
$inputxpath = "//input[@class='idnumber'][" .
- "parent::li[@class='item'][text()='" . $gradeitem . "']" .
- " | " .
- "parent::li[@class='categoryitem' | @class='courseitem']" .
- "/parent::ul/parent::li[starts-with(text(),'" . $gradeitem . "')]" .
- "]";
+ "parent::li[@class='item'][text()='" . $gradeitem . "']" .
+ " | " .
+ "parent::li[@class='categoryitem' | @class='courseitem']" .
+ "/parent::ul/parent::li[starts-with(text(),'" . $gradeitem . "')]" .
+ "]";
$this->execute('behat_forms::i_set_the_field_with_xpath_to', array($inputxpath, $idnumber));
}
if ($this->running_javascript()) {
$gradeitemliteral = behat_context_helper::escape($gradeitem);
- $xpath = "//tr[contains(.,$gradeitemliteral)]//*[contains(@class,'moodle-actionmenu')]";
+ $xpath = "//tr[contains(.,$gradeitemliteral)]//*[contains(@class,'moodle-actionmenu')]" .
+ "//a[contains(@class,'toggle-display')]";
if ($this->getSession()->getPage()->findAll('xpath', $xpath)) {
- $xpath = "//tr[contains(.,$gradeitemliteral)]";
- $this->execute("behat_action_menu::i_open_the_action_menu_in", array($xpath, "xpath_element"));
+ $this->execute("behat_general::i_click_on", array($this->escape($xpath), "xpath_element"));
}
}
}
public function i_navigate_to_in_the_course_gradebook($gradepath) {
- // If we are not on one of the gradebook pages already, follow "Grades" link in the navigation drawer.
+ // If we are not on one of the gradebook pages already, follow "Grades" link in the navigation block.
$xpath = '//div[contains(@class,\'grade-navigation\')]';
if (!$this->getSession()->getPage()->findAll('xpath', $xpath)) {
- $this->execute('behat_navigation::i_select_from_flat_navigation_drawer', get_string('grades'));
+ $this->execute("behat_general::i_click_on_in_the", array(get_string('grades'), 'link',
+ get_string('pluginname', 'block_navigation'), 'block'));
}
$this->select_in_gradebook_tabs($gradepath);