[TASK] Refactor page module acceptance tests 34/47634/4
authorSascha Egerer <sascha@sascha-egerer.de>
Tue, 12 Apr 2016 20:06:14 +0000 (22:06 +0200)
committerSusanne Moog <typo3@susannemoog.de>
Wed, 13 Apr 2016 08:09:19 +0000 (10:09 +0200)
The page module acceptance test should use the admin actor.

Change-Id: I299815d86fd5070a6cbafb9cc3faf9208a70fd6c
Resolves: #75558
Releases: master
Reviewed-on: https://review.typo3.org/47634
Reviewed-by: Dirk Jüttner <dirk.juettner@gmail.com>
Tested-by: Dirk Jüttner <dirk.juettner@gmail.com>
Reviewed-by: Susanne Moog <typo3@susannemoog.de>
Tested-by: Susanne Moog <typo3@susannemoog.de>
typo3/sysext/core/Tests/Acceptance/Backend/Page/InfoOnModuleCest.php [deleted file]
typo3/sysext/core/Tests/Acceptance/Backend/Page/PageModuleCest.php [new file with mode: 0644]
typo3/sysext/core/Tests/Acceptance/Step/Backend/Admin.php

diff --git a/typo3/sysext/core/Tests/Acceptance/Backend/Page/InfoOnModuleCest.php b/typo3/sysext/core/Tests/Acceptance/Backend/Page/InfoOnModuleCest.php
deleted file mode 100644 (file)
index d427d56..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
-namespace TYPO3\CMS\Core\Tests\Acceptance\Backend\Page;
-
-/*
- * This file is part of the TYPO3 CMS project.
- *
- * It is free software; you can redistribute it and/or modify it under
- * the terms of the GNU General Public License, either version 2
- * of the License, or any later version.
- *
- * For the full copyright and license information, please read the
- * LICENSE.txt file that was distributed with this source code.
- *
- * The TYPO3 project - inspiring people to share!
- */
-
-use TYPO3\CMS\Core\Tests\Acceptance\Step\Backend\Kasper;
-
-/**
- * This testcase is used to check if the expected information is found when
- * the page module was opened.
- */
-class InfoOnModuleCest
-{
-    public function _before(Kasper $I)
-    {
-        $I->loginAsAdmin();
-    }
-
-    public function _after(Kasper $I)
-    {
-        $I->logout();
-    }
-
-    /**
-     * @param Kasper $I
-     */
-    public function tryToTest(Kasper $I)
-    {
-        $I->wantToTest('Info is ok when select page module');
-        $I->click('Page');
-        $I->switchToIFrame('content');
-        $I->waitForElement('h4');
-        $I->waitForText('Web>Page module');
-        $I->switchToIFrame();
-    }
-}
diff --git a/typo3/sysext/core/Tests/Acceptance/Backend/Page/PageModuleCest.php b/typo3/sysext/core/Tests/Acceptance/Backend/Page/PageModuleCest.php
new file mode 100644 (file)
index 0000000..e86ca08
--- /dev/null
@@ -0,0 +1,39 @@
+<?php
+namespace TYPO3\CMS\Core\Tests\Acceptance\Backend\Page;
+
+/*
+ * This file is part of the TYPO3 CMS project.
+ *
+ * It is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License, either version 2
+ * of the License, or any later version.
+ *
+ * For the full copyright and license information, please read the
+ * LICENSE.txt file that was distributed with this source code.
+ *
+ * The TYPO3 project - inspiring people to share!
+ */
+
+use TYPO3\CMS\Core\Tests\Acceptance\Step\Backend\Admin;
+
+/**
+ * This testcase is used to check if the expected information is found when
+ * the page module was opened.
+ */
+class PageModuleCest
+{
+    public function _before(Admin $I)
+    {
+        $I->useExistingSession();
+    }
+
+    /**
+     * @param Admin $I
+     */
+    public function checkThatPageModuleHasAHeadline(Admin $I)
+    {
+        $I->click('Page');
+        $I->switchToIFrame('content');
+        $I->canSee('Web>Page module', 'h4');
+    }
+}
index 1b3d3d4..99c0cd7 100644 (file)
@@ -31,8 +31,22 @@ class Admin extends \AcceptanceTester
     {
         $I = $this;
         $I->amOnPage('/typo3/index.php');
-        $I->setCookie('be_typo_user', $this->sessionCookie, array('path' => '/typo3temp/var/tests/acceptance/'));
-        $I->setCookie('be_lastLoginProvider', '1433416747', array('path' => '/typo3temp/var/tests/acceptance/'));
+
+        // @todo: There is a bug in PhantomJS where adding a cookie fails.
+        // This bug will be fixed in the next PhantomJS version but i also found
+        // this workaround. First reset / delete the cookie and than set it and catch
+        // the webdriver exception as the cookie has been set successful.
+        try {
+            $I->resetCookie('be_typo_user');
+            $I->setCookie('be_typo_user', $this->sessionCookie);
+        } catch (\Facebook\WebDriver\Exception\UnableToSetCookieException $e) {
+        }
+        try {
+            $I->resetCookie('be_lastLoginProvider');
+            $I->setCookie('be_lastLoginProvider', '1433416747');
+        } catch (\Facebook\WebDriver\Exception\UnableToSetCookieException $e) {
+        }
+
         // reload the page to have a logged in backend
         $I->amOnPage('/typo3/index.php');
     }