Tried to replace the two step test against a complete login task series but I'm still...
authorGunnar Wrobel <p@rdus.de>
Wed, 3 Mar 2010 09:44:25 +0000 (10:44 +0100)
committerGunnar Wrobel <p@rdus.de>
Wed, 3 Mar 2010 09:44:25 +0000 (10:44 +0100)
framework/LoginTasks/test/Horde/LoginTasks/LoginTasksTest.php
framework/LoginTasks/test/Horde/LoginTasks/Stubs.php

index d8d6b47..edf7abd 100644 (file)
@@ -429,40 +429,76 @@ class Horde_LoginTasks_Class_LoginTasksTest extends PHPUnit_Framework_TestCase
         );
     }
 
-    public function testConfirmAfterNoticeWillBeDisplayed()
+    public function testConfirmSeriesDisplay()
     {
-        $this->markTestIncomplete('I don\'t understand the logic here.');
+        $this->markTestIncomplete();
         Horde_LoginTasks_Stub_Task::$executed = array();
         $tasks = $this->_getLoginTasks(
             array(
+                'Horde_LoginTasks_Stub_ConfirmNo',
                 'Horde_LoginTasks_Stub_Confirm',
+                'Horde_LoginTasks_Stub_Task',
+                'Horde_LoginTasks_Stub_Notice',
+                'Horde_LoginTasks_Stub_ConfirmTwo',
+                'Horde_LoginTasks_Stub_TaskTwo',
+                'Horde_LoginTasks_Stub_ConfirmThree',
                 'Horde_LoginTasks_Stub_Notice',
             ),
             true
         );
-        $tasks->runTasks(false, 'redirect', true);
-        $tasks->displayTasks();
+        $this->assertContains(
+            'http:///services/logintasks.php?app=test',
+            (string) $tasks->runTasks(false, 'redirect', true)
+        );
+        $this->assertEquals(
+            array(
+            ),
+            Horde_LoginTasks_Stub_Task::$executed
+        );
+        $tasklist = $tasks->displayTasks();
+        $classes = array();
+        foreach ($tasklist as $task) {
+            $classes[] = get_class($task);
+        }
+        asort($classes);
+        $this->assertEquals(
+            array(
+                'Horde_LoginTasks_Stub_ConfirmNo'
+            ),
+            $classes
+        );
         $_POST['logintasks_confirm_0'] = true;
-        $tasks->runTasks(true, null, true);
+        $this->assertEquals(
+            'redirect',
+            $tasks->runTasks(true, null, true)
+        );
         $this->assertEquals(
             array(
-                'Horde_LoginTasks_Stub_Confirm',
-                'Horde_LoginTasks_Stub_Notice',
+                'Horde_LoginTasks_Stub_ConfirmNo',
             ),
             Horde_LoginTasks_Stub_Task::$executed
         );
-    }
-
-    public function testNoticeBeforeConfirmationWillNotBeDisplayed()
-    {
-        $this->markTestIncomplete('I don\'t understand the logic here.');
-        Horde_LoginTasks_Stub_Task::$executed = array();
-        $tasks = $this->_getLoginTasks(
+        $this->assertContains(
+            'http:///services/logintasks.php?app=test',
+            (string) $tasks->runTasks(false, null, true)
+        );
+        $this->assertEquals(
             array(
-                'Horde_LoginTasks_Stub_Notice',
-                'Horde_LoginTasks_Stub_Confirm',
+                'Horde_LoginTasks_Stub_ConfirmNo',
             ),
-            true
+            Horde_LoginTasks_Stub_Task::$executed
+        );
+        $tasklist = $tasks->displayTasks();
+        $classes = array();
+        foreach ($tasklist as $task) {
+            $classes[] = get_class($task);
+        }
+        asort($classes);
+        $this->assertEquals(
+            array(
+                'Horde_LoginTasks_Stub_Confirm'
+            ),
+            $classes
         );
     }
 
index 13fa150..02f256e 100644 (file)
@@ -32,12 +32,35 @@ extends Horde_LoginTasks_Task
     }
 }
 
+class Horde_LoginTasks_Stub_TaskTwo
+extends Horde_LoginTasks_Stub_Task
+{
+}
+
 class Horde_LoginTasks_Stub_Confirm
 extends Horde_LoginTasks_Stub_Task
 {
     public $display = Horde_LoginTasks::DISPLAY_CONFIRM_YES;
 }
 
+class Horde_LoginTasks_Stub_ConfirmTwo
+extends Horde_LoginTasks_Stub_Task
+{
+    public $display = Horde_LoginTasks::DISPLAY_CONFIRM_YES;
+}
+
+class Horde_LoginTasks_Stub_ConfirmThree
+extends Horde_LoginTasks_Stub_Task
+{
+    public $display = Horde_LoginTasks::DISPLAY_CONFIRM_YES;
+}
+
+class Horde_LoginTasks_Stub_ConfirmNo
+extends Horde_LoginTasks_Stub_Task
+{
+    public $display = Horde_LoginTasks::DISPLAY_CONFIRM_NO;
+}
+
 class Horde_LoginTasks_Stub_Day
 extends Horde_LoginTasks_Stub_Task
 {