MDL-41030 behat: Dock blocks compatible with both selenium and phantomjs
authorDavid Monllao <davidm@moodle.com>
Mon, 28 Oct 2013 09:43:29 +0000 (17:43 +0800)
committerDavid Monllao <davidm@moodle.com>
Fri, 6 Dec 2013 04:13:39 +0000 (12:13 +0800)
admin/tool/behat/tests/behat/basic_actions.feature
blocks/tests/behat/behat_blocks.php

index 5b1bd50..83f0320 100644 (file)
@@ -39,7 +39,7 @@ Feature: Page contents assertions
       | Course 1 | C1 | 0 |
     And I log in as "admin"
     And I follow "Course 1"
-    When I click on "Move this to the dock" "button" in the "Administration" "block"
+    When I dock "Administration" block
     Then I should not see "Question bank" in the "region-pre" "region"
     And I click on "//div[@id='dock']/descendant::h2[normalize-space(.)='Administration']" "xpath_element"
 
@@ -49,5 +49,5 @@ Feature: Page contents assertions
       | fullname | shortname | category |
       | Course 1 | C1 | 0 |
     And I log in as "admin"
-    When I click on "Move this to the dock" "button" in the "Administration" "block"
+    When I dock "Administration" block
     Then I should not see "Turn editing on" in the "region-pre" "region"
index 36d8be2..28d59ca 100644 (file)
@@ -58,6 +58,20 @@ class behat_blocks extends behat_base {
         return $steps;
     }
 
+    /**
+     * Docks a block. Editing mode should be previously enabled.
+     *
+     * @Given /^I dock "(?P<block_name_string>(?:[^"]|\\")*)" block$/
+     * @param string $blockname
+     * @return Given
+     */
+    public function i_dock_block($blockname) {
+
+        // Looking for both title and alt.
+        $xpath = "//input[@type='image'][@title='" . get_string('dockblock', 'block', $blockname) . "' or @alt='" . get_string('addtodock', 'block') . "']";
+        return new Given('I click on " ' . $xpath . '" "xpath_element" in the "' . $this->escape($blockname) . '" "block"');
+    }
+
     /**
      * Opens a block's actions menu if it is not already opened.
      *