Author: ornicar2
Date: 2010-02-08 11:09:48 +0100 (Mon, 08 Feb 2010)
New Revision: 27705

Modified:
   
plugins/diemPlugin/trunk/dmCorePlugin/test/functional/helper/dmFunctionalTestHelper.php
Log:
[Diem]
- added dmFunctionalTestHelper frontLogin and adminLogin methods with a generic 
login method

Modified: 
plugins/diemPlugin/trunk/dmCorePlugin/test/functional/helper/dmFunctionalTestHelper.php
===================================================================
--- 
plugins/diemPlugin/trunk/dmCorePlugin/test/functional/helper/dmFunctionalTestHelper.php
     2010-02-08 10:09:04 UTC (rev 27704)
+++ 
plugins/diemPlugin/trunk/dmCorePlugin/test/functional/helper/dmFunctionalTestHelper.php
     2010-02-08 10:09:48 UTC (rev 27705)
@@ -68,32 +68,60 @@
   
   public function login($username = 'admin', $password = 'admin')
   {
-    $url = ('front' === sfConfig::get('sf_app'))
-    ? '/login'
-    : '/+/dmAuthAdmin/signin?skip_browser_detection=1';
+    return 'front' === sfConfig::get('sf_app')
+    ? $this->frontLogin($username, $password)
+    : $this->adminLogin($username, $password);
+  }
 
-    $this->browser->
-      get($url)->
-      click('input[type="submit"]',
-        array('signin' => array('username' => $username, 'password' => 
$password)),
-        array('method' => 'post', '_with_csrf' => true)
-      )->
-      with('response')->begin()->
-        followRedirect()->
-      end()
-    ;
+  protected function adminLogin($username, $password)
+  {
+    $this->browser->get('/security/signin?skip_browser_detection=1')
+    ->checks(array(
+      'code' => 401,
+      'moduleAction' => 'dmUserAdmin/signin'
+    ))
+    ->click('input[type="submit"]',
+      array('signin' => array('username' => $username, 'password' => 
$password)),
+      array('method' => 'post', '_with_csrf' => true)
+    )
+    ->checks(array(
+      'code' => 302,
+      'moduleAction' => 'dmUserAdmin/signin'
+    ))
+    ->redirect();
 
-    return $this->browser->with('user')->begin()->isAuthenticated()->end();
+    return $this->browser->with('user')->begin()->isAuthenticated(true)->end();
   }
 
+  protected function frontLogin($username, $password)
+  {
+    $this->browser->get('/signin')
+    ->checks(array(
+      'code' => 200,
+      'moduleAction' => 'dmFront/page'
+    ))
+    ->isPageModuleAction('main/signin')
+    ->click('Signin',
+      array('signin' => array('username' => $username, 'password' => 
$password)),
+      array('method' => 'post', '_with_csrf' => true)
+    )
+    ->checks(array(
+      'code' => 302,
+      'moduleAction' => 'dmFront/page'
+    ))
+    ->redirect();
+
+    return $this->browser->with('user')->begin()->isAuthenticated(true)->end();
+  }
+
   public function logout()
   {
-    $this->browser->
-      get('/+/dmAuthAdmin/signout')->
-      with('response')->begin()->
-        followRedirect()->
-      end()
-    ;
+    $this->browser->get('/security/signout')
+    ->checks(array(
+      'code' => 302,
+      'moduleAction' => 'front' === sfConfig::get('sf_app') ? 'dmUser/signout' 
: 'dmUserAdmin/signout'
+    ))
+    ->redirect();
 
     return 
$this->browser->with('user')->begin()->isAuthenticated(false)->end();
   }

-- 
You received this message because you are subscribed to the Google Groups 
"symfony SVN" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/symfony-svn?hl=en.

Reply via email to