[Fusionforge-commits] r7696 - in trunk/tests/func: . Trackers

Alain Peyrat aljeux at libremir.placard.fr.eu.org
Tue May 19 21:59:10 CEST 2009


Author: aljeux
Date: 2009-05-19 21:59:10 +0200 (Tue, 19 May 2009)
New Revision: 7696

Added:
   trunk/tests/func/Trackers/
   trunk/tests/func/Trackers/AllTests.php
   trunk/tests/func/Trackers/relation.php
   trunk/tests/func/Trackers/trackers.php
   trunk/tests/func/Trackers/workflow.php
Log:
Adding selenium tests around trackers

Added: trunk/tests/func/Trackers/AllTests.php
===================================================================
--- trunk/tests/func/Trackers/AllTests.php	                        (rev 0)
+++ trunk/tests/func/Trackers/AllTests.php	2009-05-19 19:59:10 UTC (rev 7696)
@@ -0,0 +1,37 @@
+<?php
+if (!defined('PHPUnit_MAIN_METHOD')) {
+    define('PHPUnit_MAIN_METHOD', 'Trackers_AllTests::main');
+}
+ 
+require_once 'PHPUnit/Framework.php';
+require_once 'PHPUnit/TextUI/TestRunner.php';
+ 
+require_once dirname(__FILE__).'/trackers.php';
+require_once dirname(__FILE__).'/workflow.php';
+require_once dirname(__FILE__).'/relation.php';
+// ...
+ 
+class Trackers_AllTests
+{
+    public static function main()
+    {
+        PHPUnit_TextUI_TestRunner::run(self::suite());
+    }
+ 
+    public static function suite()
+    {
+        $suite = new PHPUnit_Framework_TestSuite('PHPUnit Framework');
+ 
+        $suite->addTestSuite('CreateTracker');
+        $suite->addTestSuite('CreateTrackerWorkflow');
+        $suite->addTestSuite('CreateTrackerRelation');
+        // ...
+ 
+        return $suite;
+    }
+}
+ 
+if (PHPUnit_MAIN_METHOD == 'Trackers_AllTests::main') {
+    Framework_AllTests::main();
+}
+?>
\ No newline at end of file

Added: trunk/tests/func/Trackers/relation.php
===================================================================
--- trunk/tests/func/Trackers/relation.php	                        (rev 0)
+++ trunk/tests/func/Trackers/relation.php	2009-05-19 19:59:10 UTC (rev 7696)
@@ -0,0 +1,74 @@
+<?php
+/*
+ * Copyright (C) 2008 Alain Peyrat <aljeux at free.fr>
+ * Copyright (C) 2009 Alain Peyrat, Alcatel-Lucent
+ *
+ * This file is part of FusionForge.
+ *
+ * FusionForge is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published
+ * by the Free Software Foundation; either version 2 of the License,
+ * or (at your option) any later version.
+ *
+ * FusionForge is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with FusionForge; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
+
+/*
+ * Standard Alcatel-Lucent disclaimer for contributing to open source
+ *
+ * "The test suite ("Contribution") has not been tested and/or
+ * validated for release as or in products, combinations with products or
+ * other commercial use. Any use of the Contribution is entirely made at
+ * the user's own responsibility and the user can not rely on any features,
+ * functionalities or performances Alcatel-Lucent has attributed to the
+ * Contribution.
+ *
+ * THE CONTRIBUTION BY ALCATEL-LUCENT IS PROVIDED AS IS, WITHOUT WARRANTY
+ * OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+ * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, COMPLIANCE,
+ * NON-INTERFERENCE AND/OR INTERWORKING WITH THE SOFTWARE TO WHICH THE
+ * CONTRIBUTION HAS BEEN MADE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL
+ * ALCATEL-LUCENT BE LIABLE FOR ANY DAMAGES OR OTHER LIABLITY, WHETHER IN
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ * CONTRIBUTION OR THE USE OR OTHER DEALINGS IN THE CONTRIBUTION, WHETHER
+ * TOGETHER WITH THE SOFTWARE TO WHICH THE CONTRIBUTION RELATES OR ON A STAND
+ * ALONE BASIS."
+ */
+
+require_once 'func/Testing/SeleniumGforge.php';
+
+class CreateTrackerRelation extends FForge_SeleniumTestCase
+{
+	function testCreateRelation()
+	{
+		$this->createProject('ProjectA');
+					
+		// Testing extra-fields
+		$this->open( BASE );
+		$this->click("link=ProjectA");
+		$this->waitForPageToLoad("30000");
+		$this->click("link=Tracker");
+		$this->waitForPageToLoad("30000");
+		$this->click("link=Bugs");
+		$this->waitForPageToLoad("30000");
+		$this->click("//a[contains(@href, '".BASE. "/tracker/admin/?group_id=6&atid=101')]");
+		$this->waitForPageToLoad("30000");
+		$this->click("link=Manage Custom Fields");
+		$this->waitForPageToLoad("30000");
+		$this->type("name", "Depends on");
+		$this->type("alias", "depends_on");
+		$this->click("document.forms[2].field_type[7]");
+		$this->click("post_changes");
+		$this->waitForPageToLoad("30000");
+		$this->assertTrue($this->isTextPresent("Depends on"));
+	}
+}
+?>

Added: trunk/tests/func/Trackers/trackers.php
===================================================================
--- trunk/tests/func/Trackers/trackers.php	                        (rev 0)
+++ trunk/tests/func/Trackers/trackers.php	2009-05-19 19:59:10 UTC (rev 7696)
@@ -0,0 +1,178 @@
+<?php
+/*
+ * Copyright (C) 2008 Alain Peyrat <aljeux at free.fr>
+ * Copyright (C) 2009 Alain Peyrat, Alcatel-Lucent
+ *
+ * This file is part of FusionForge.
+ *
+ * FusionForge is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published
+ * by the Free Software Foundation; either version 2 of the License,
+ * or (at your option) any later version.
+ *
+ * FusionForge is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with FusionForge; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
+
+/*
+ * Standard Alcatel-Lucent disclaimer for contributing to open source
+ *
+ * "The test suite ("Contribution") has not been tested and/or
+ * validated for release as or in products, combinations with products or
+ * other commercial use. Any use of the Contribution is entirely made at
+ * the user's own responsibility and the user can not rely on any features,
+ * functionalities or performances Alcatel-Lucent has attributed to the
+ * Contribution.
+ *
+ * THE CONTRIBUTION BY ALCATEL-LUCENT IS PROVIDED AS IS, WITHOUT WARRANTY
+ * OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+ * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, COMPLIANCE,
+ * NON-INTERFERENCE AND/OR INTERWORKING WITH THE SOFTWARE TO WHICH THE
+ * CONTRIBUTION HAS BEEN MADE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL
+ * ALCATEL-LUCENT BE LIABLE FOR ANY DAMAGES OR OTHER LIABLITY, WHETHER IN
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ * CONTRIBUTION OR THE USE OR OTHER DEALINGS IN THE CONTRIBUTION, WHETHER
+ * TOGETHER WITH THE SOFTWARE TO WHICH THE CONTRIBUTION RELATES OR ON A STAND
+ * ALONE BASIS."
+ */
+
+require_once 'func/Testing/SeleniumGforge.php';
+
+class CreateTracker extends FForge_SeleniumTestCase
+{
+	function testSimpleCreate()
+	{
+		$this->createProject('ProjectA');
+					
+		// Test: Create a simple bug report (Message1/Text1).
+		$this->open( BASE );
+		$this->click("link=ProjectA");
+		$this->waitForPageToLoad("30000");
+		$this->click("link=Tracker");
+		$this->waitForPageToLoad("30000");
+		$this->assertTrue($this->isTextPresent("Bugs"));
+		$this->assertTrue($this->isTextPresent("Support"));
+		$this->assertTrue($this->isTextPresent("Patches"));
+		$this->assertTrue($this->isTextPresent("Feature Requests"));
+		$this->click("link=Bugs");
+		$this->waitForPageToLoad("30000");
+		$this->click("link=Submit New");
+		$this->waitForPageToLoad("30000");
+		$this->type("summary", "Summary1");
+		$this->type("details", "Description1");
+		$this->click("document.forms[2].submit[1]");
+		$this->waitForPageToLoad("30000");
+		$this->assertTrue($this->isTextPresent("Summary1"));
+		$this->click("link=Summary1");
+		$this->waitForPageToLoad("30000");
+		$this->assertTrue($this->isTextPresent(""));
+		$this->assertTrue($this->isTextPresent("Description1"));
+
+		// Test: Adding a comment and checking that it is recorded.
+		$this->type("details", "This is comment 1");
+		$this->click("submit");
+		$this->waitForPageToLoad("30000");
+		$this->click("link=Summary1");
+		$this->waitForPageToLoad("30000");
+		$this->assertTrue($this->isTextPresent("This is comment 1"));
+
+		// Test: Adding a second comment and checking that it is recorded.
+		$this->type("details", "Comment 2 added");
+		$this->click("submit");
+		$this->waitForPageToLoad("30000");
+		$this->click("link=Summary1");
+		$this->waitForPageToLoad("30000");
+		$this->assertTrue($this->isTextPresent("Comment 2 added"));
+		$this->assertTrue($this->isTextPresent("This is comment 1"));
+
+		// Test: Adding another comment (chars) and checking that it is recorded.
+		$this->type("details", "This & été");
+		$this->click("submit");
+		$this->waitForPageToLoad("30000");
+		$this->click("link=Summary1");
+		$this->waitForPageToLoad("30000");
+		$this->assertTrue($this->isTextPresent("This & été"));
+
+		// Test: Updating the URL extra field and checking that it is recorded.
+		$this->type("extra_fields[8]", "http://google.com/");
+		$this->click("submit");
+		$this->waitForPageToLoad("30000");
+		$this->click("link=Summary1");
+		$this->waitForPageToLoad("30000");
+		try {
+			$this->assertEquals("http://google.com/", $this->getValue("extra_fields[8]"));
+		} catch (PHPUnit_Framework_AssertionFailedError $e) {
+			array_push($this->verificationErrors, $e->toString());
+		}
+
+		// Test: Updating the priority and checking that it is recorded.
+		$this->select("priority", "label=5 - Highest");
+		$this->click("submit");
+		$this->waitForPageToLoad("30000");
+		$this->assertTrue($this->isTextPresent("5"));
+		$this->click("link=Summary1");
+		$this->waitForPageToLoad("30000");
+	}
+	
+	
+	function testExtraFields()
+	{
+		$this->createProject('ProjectA');
+					
+		// Testing extra-fields
+		$this->open( BASE );
+		$this->click("link=ProjectA");
+		$this->waitForPageToLoad("30000");
+		$this->click("link=Tracker");
+		$this->waitForPageToLoad("30000");
+		$this->click("link=Bugs");
+		$this->waitForPageToLoad("30000");
+		$this->click("//a[contains(@href, '".BASE. "/tracker/admin/?group_id=6&atid=101')]");
+		$this->waitForPageToLoad("30000");
+		$this->click("link=Manage Custom Fields");
+		$this->waitForPageToLoad("30000");
+		$this->type("name", "Number");
+		$this->type("alias", "number");
+		$this->click("field_type");
+		$this->click("post_changes");
+		$this->waitForPageToLoad("30000");
+		$this->click("//a[contains(@href, '".BASE. "/tracker/admin/index.php?add_opt=1&boxid=22&group_id=6&atid=101')]");
+		$this->waitForPageToLoad("30000");
+		$this->type("name", "1");
+		$this->click("post_changes");
+		$this->waitForPageToLoad("30000");
+		$this->assertTrue($this->isTextPresent("Element inserted"));
+		$this->type("name", "2");
+		$this->click("post_changes");
+		$this->waitForPageToLoad("30000");
+		$this->assertTrue($this->isTextPresent("Element inserted"));
+		
+		// Testing [#3609]: Select Box does not accept 0 as choice
+		$this->type("name", "0");
+		$this->click("post_changes");
+		$this->waitForPageToLoad("30000");
+		$this->assertTrue($this->isTextPresent("Element inserted"));
+
+		// Testing [#3649]: 0 not accepted when modifying a select list value
+		$this->open(BASE."/tracker/admin/index.php?group_id=6&atid=101&add_extrafield=1");
+		$this->click("link=0 [Edit]");
+		$this->waitForPageToLoad("30000");
+		$this->type("name", "10");
+		$this->click("post_changes");
+		$this->waitForPageToLoad("30000");
+		$this->click("link=10 [Edit]");
+		$this->waitForPageToLoad("30000");
+		$this->type("name", "0");
+		$this->click("post_changes");
+		$this->waitForPageToLoad("30000");
+		$this->assertTrue($this->isTextPresent("Element updated"));
+	}
+}
+?>


Property changes on: trunk/tests/func/Trackers/trackers.php
___________________________________________________________________
Added: svn:executable
   + *

Added: trunk/tests/func/Trackers/workflow.php
===================================================================
--- trunk/tests/func/Trackers/workflow.php	                        (rev 0)
+++ trunk/tests/func/Trackers/workflow.php	2009-05-19 19:59:10 UTC (rev 7696)
@@ -0,0 +1,249 @@
+<?php
+/*
+ * Copyright (C) 2008 Alain Peyrat <aljeux at free.fr>
+ * Copyright (C) 2009 Alain Peyrat, Alcatel-Lucent
+ *
+ * This file is part of FusionForge.
+ *
+ * FusionForge is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published
+ * by the Free Software Foundation; either version 2 of the License,
+ * or (at your option) any later version.
+ *
+ * FusionForge is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with FusionForge; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
+
+/*
+ * Standard Alcatel-Lucent disclaimer for contributing to open source
+ *
+ * "The test suite ("Contribution") has not been tested and/or
+ * validated for release as or in products, combinations with products or
+ * other commercial use. Any use of the Contribution is entirely made at
+ * the user's own responsibility and the user can not rely on any features,
+ * functionalities or performances Alcatel-Lucent has attributed to the
+ * Contribution.
+ *
+ * THE CONTRIBUTION BY ALCATEL-LUCENT IS PROVIDED AS IS, WITHOUT WARRANTY
+ * OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+ * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, COMPLIANCE,
+ * NON-INTERFERENCE AND/OR INTERWORKING WITH THE SOFTWARE TO WHICH THE
+ * CONTRIBUTION HAS BEEN MADE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL
+ * ALCATEL-LUCENT BE LIABLE FOR ANY DAMAGES OR OTHER LIABLITY, WHETHER IN
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ * CONTRIBUTION OR THE USE OR OTHER DEALINGS IN THE CONTRIBUTION, WHETHER
+ * TOGETHER WITH THE SOFTWARE TO WHICH THE CONTRIBUTION RELATES OR ON A STAND
+ * ALONE BASIS."
+ */
+
+require_once 'func/Testing/SeleniumGforge.php';
+
+class CreateTrackerWorkflow extends FForge_SeleniumTestCase
+{
+	function testWorkflow()
+	{
+		$this->createProject('ProjectA');
+			
+		// Testing extra-fields
+		$this->open( BASE );
+		$this->click("link=ProjectA");
+		$this->waitForPageToLoad("30000");
+		$this->click("link=Tracker");
+		$this->waitForPageToLoad("30000");
+		$this->click("link=Bugs");
+		$this->waitForPageToLoad("30000");
+		$this->click("//a[contains(@href, '".BASE. "/tracker/admin/?group_id=6&atid=101')]");
+		$this->waitForPageToLoad("30000");
+		$this->click("link=Manage Custom Fields");
+		$this->waitForPageToLoad("30000");
+		$this->type("name", "MyStatus");
+		$this->type("alias", "mystatus");
+		$this->click("document.forms[2].field_type[6]");
+		$this->click("post_changes");
+		$this->waitForPageToLoad("30000");
+		$this->click("link=Open [Edit]");
+		$this->waitForPageToLoad("30000");
+		$this->type("name", "New");
+		$this->click("post_changes");
+		$this->waitForPageToLoad("30000");
+		$this->click("link=Manage Custom Fields");
+		$this->waitForPageToLoad("30000");
+		$this->click("link=Closed [Edit]");
+		$this->waitForPageToLoad("30000");
+		$this->type("name", "Analyse");
+		$this->select("status_id", "label=Open");
+		$this->click("post_changes");
+		$this->waitForPageToLoad("30000");
+		$this->click("link=Manage Workflow");
+		$this->waitForPageToLoad("30000");
+		$this->click("link=Manage Custom Fields");
+		$this->waitForPageToLoad("30000");
+		$this->click("//a[contains(@href, '/tracker/admin/index.php?add_opt=1&boxid=22&group_id=6&atid=101')]");
+		$this->waitForPageToLoad("30000");
+		$this->type("name", "Candidate");
+		$this->click("post_changes");
+		$this->waitForPageToLoad("30000");
+		$this->click("link=Manage Custom Fields");
+		$this->waitForPageToLoad("30000");
+		$this->click("//a[contains(@href, '/tracker/admin/index.php?add_opt=1&boxid=22&group_id=6&atid=101')]");
+		$this->waitForPageToLoad("30000");
+		$this->type("name", "Open");
+		$this->click("post_changes");
+		$this->waitForPageToLoad("30000");
+		$this->type("name", "Resolved");
+		$this->click("post_changes");
+		$this->waitForPageToLoad("30000");
+		$this->type("name", "Validated");
+		$this->click("post_changes");
+		$this->waitForPageToLoad("30000");
+		$this->type("name", "Verified");
+		$this->select("status_id", "label=Closed");
+		$this->click("post_changes");
+		$this->waitForPageToLoad("30000");
+		$this->type("name", "Duplicated");
+		$this->click("post_changes");
+		$this->waitForPageToLoad("30000");
+		$this->type("name", "Postponed");
+		$this->click("post_changes");
+		$this->waitForPageToLoad("30000");
+		$this->type("name", "Closed");
+		$this->select("status_id", "label=Closed");
+		$this->click("post_changes");
+		$this->waitForPageToLoad("30000");
+		$this->click("link=Manage Workflow");
+		$this->waitForPageToLoad("30000");
+		$this->click("wk[157][159]");
+		$this->click("wk[157][160]");
+		$this->click("wk[157][161]");
+		$this->click("wk[157][162]");
+		$this->click("wk[157][163]");
+		$this->click("wk[157][164]");
+		$this->click("wk[157][165]");
+		$this->click("wk[157][166]");
+		$this->click("wk[158][157]");
+		$this->click("wk[159][160]");
+		$this->click("wk[159][161]");
+		$this->click("wk[159][162]");
+		$this->click("wk[159][163]");
+		$this->click("wk[159][157]");
+		$this->click("wk[159][158]");
+		$this->click("wk[159][158]");
+		$this->click("wk[159][157]");
+		$this->click("wk[158][160]");
+		$this->click("wk[158][161]");
+		$this->click("wk[158][162]");
+		$this->click("wk[158][163]");
+		$this->click("wk[158][164]");
+		$this->click("wk[158][165]");
+		$this->click("wk[158][166]");
+		$this->click("wk[158][166]");
+		$this->click("wk[158][165]");
+		$this->click("wk[159][157]");
+		$this->click("wk[159][158]");
+		$this->click("wk[159][164]");
+		$this->click("wk[159][165]");
+		$this->click("wk[159][166]");
+		$this->click("wk[159][160]");
+		$this->click("wk[159][166]");
+		$this->click("wk[159][165]");
+		$this->click("wk[160][157]");
+		$this->click("wk[160][158]");
+		$this->click("wk[160][159]");
+		$this->click("wk[160][161]");
+		$this->click("wk[160][162]");
+		$this->click("wk[160][163]");
+		$this->click("wk[160][164]");
+		$this->click("wk[160][165]");
+		$this->click("wk[160][166]");
+		$this->click("wk[160][158]");
+		$this->click("wk[160][161]");
+		$this->click("wk[161][157]");
+		$this->click("wk[161][158]");
+		$this->click("wk[161][159]");
+		$this->click("wk[161][160]");
+		$this->click("wk[161][162]");
+		$this->click("wk[161][163]");
+		$this->click("wk[161][164]");
+		$this->click("wk[161][165]");
+		$this->click("wk[161][166]");
+		$this->click("wk[161][162]");
+		$this->click("wk[161][158]");
+		$this->click("wk[162][157]");
+		$this->click("wk[162][158]");
+		$this->click("wk[162][159]");
+		$this->click("wk[162][160]");
+		$this->click("wk[162][161]");
+		$this->click("wk[162][164]");
+		$this->click("wk[162][163]");
+		$this->click("wk[162][165]");
+		$this->click("wk[162][166]");
+		$this->click("wk[162][158]");
+		$this->click("wk[162][158]");
+		$this->click("wk[162][158]");
+		$this->click("wk[162][163]");
+		$this->click("wk[163][157]");
+		$this->click("wk[163][158]");
+		$this->click("wk[163][159]");
+		$this->click("wk[163][160]");
+		$this->click("wk[163][161]");
+		$this->click("wk[163][162]");
+		$this->click("wk[163][164]");
+		$this->click("wk[163][165]");
+		$this->click("wk[163][166]");
+		$this->click("wk[164][157]");
+		$this->click("wk[164][158]");
+		$this->click("wk[164][159]");
+		$this->click("wk[164][160]");
+		$this->click("wk[164][161]");
+		$this->click("wk[164][162]");
+		$this->click("wk[164][163]");
+		$this->click("wk[164][165]");
+		$this->click("wk[164][166]");
+		$this->click("wk[165][157]");
+		$this->click("wk[165][158]");
+		$this->click("wk[165][159]");
+		$this->click("wk[165][160]");
+		$this->click("wk[165][161]");
+		$this->click("wk[165][162]");
+		$this->click("wk[165][163]");
+		$this->click("wk[165][164]");
+		$this->click("wk[165][166]");
+		$this->click("wk[165][158]");
+		$this->click("wk[166][157]");
+		$this->click("wk[166][158]");
+		$this->click("wk[166][159]");
+		$this->click("wk[166][160]");
+		$this->click("wk[166][161]");
+		$this->click("wk[166][162]");
+		$this->click("wk[166][163]");
+		$this->click("wk[166][164]");
+		$this->click("wk[166][165]");
+		$this->click("post_changes");
+		$this->waitForPageToLoad("30000");
+		$this->assertTrue($this->isTextPresent("Workflow saved"));
+		
+		// Ensure that it is not possible to configure the workflow without initial state.
+		$this->click("wk[100][157]");
+		$this->click("wk[100][158]");
+		$this->click("wk[100][159]");
+		$this->click("wk[100][160]");
+		$this->click("wk[100][161]");
+		$this->click("wk[100][162]");
+		$this->click("wk[100][163]");
+		$this->click("wk[100][164]");
+		$this->click("wk[100][165]");
+		$this->click("wk[100][166]");
+		$this->click("post_changes");
+		$this->waitForPageToLoad("30000");
+		$this->assertTrue($this->isTextPresent("ERROR: Initial values not saved"));
+		$this->assertTrue($this->isTextPresent("Workflow saved"));
+	}
+}
+?>




More information about the Fusionforge-commits mailing list