From 9d083e0135e1280ae084be7115a47e3d4c14d9da Mon Sep 17 00:00:00 2001 From: Damian Mooyman Date: Thu, 12 Jan 2017 15:12:29 +1300 Subject: [PATCH] API Add check for text in current alert --- .../BehatExtension/Context/BasicContext.php | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/SilverStripe/BehatExtension/Context/BasicContext.php b/src/SilverStripe/BehatExtension/Context/BasicContext.php index b9d4998..ea323a4 100644 --- a/src/SilverStripe/BehatExtension/Context/BasicContext.php +++ b/src/SilverStripe/BehatExtension/Context/BasicContext.php @@ -8,6 +8,8 @@ use Behat\Behat\Event\StepEvent; use Behat\Behat\Event\ScenarioEvent; use Behat\Mink\Driver\Selenium2Driver; use Behat\Mink\Element\NodeElement; +use Behat\Mink\Session; +use Behat\MinkExtension\Context\RawMinkContext; use SilverStripe\Assets\File; use SilverStripe\Assets\Filesystem; @@ -60,11 +62,13 @@ class BasicContext extends BehatContext * Get Mink session from MinkContext * * @param string $name - * @return \Behat\Mink\Session + * @return Session */ public function getSession($name = null) { - return $this->getMainContext()->getSession($name); + /** @var SilverStripeContext $context */ + $context = $this->getMainContext(); + return $context->getSession($name); } /** @@ -479,6 +483,18 @@ JS; $this->iDismissTheDialog(); } + /** + * @Given /^I see the text "([^"]+)" in the alert$/ + */ + public function iSeeTheDialogText($expected) + { + $session = $this->getSession(); + /** @var Selenium2Driver $driver */ + $driver = $session->getDriver(); + $text = $driver->getWebDriverSession()->getAlert_text(); + assertContains($expected, $text); + } + /** * @Given /^I type "([^"]*)" into the dialog$/ */