Browse Source

Added test case for CakeResponse::send() and ajaxLogin

David Steinsland 11 years ago
parent
commit
d98abc58d1
1 changed files with 30 additions and 0 deletions
  1. 30 0
      lib/Cake/Test/Case/Controller/Component/AuthComponentTest.php

+ 30 - 0
lib/Cake/Test/Case/Controller/Component/AuthComponentTest.php

@@ -1156,6 +1156,36 @@ class AuthComponentTest extends CakeTestCase {
 	}
 
 /**
+ * testAjaxLoginResponseCode
+ *
+ * @return void
+ */
+	public function testAjaxLoginResponseCode() {
+		App::build(array(
+			'View' => array(CAKE . 'Test' . DS . 'test_app' . DS . 'View' . DS)
+		));
+		$_SERVER['HTTP_X_REQUESTED_WITH'] = 'XMLHttpRequest';
+
+		$url = '/ajax_auth/add';
+		$this->Auth->request->addParams(Router::parse($url));
+		$this->Auth->request->query['url'] = ltrim($url, '/');
+		$this->Auth->request->base = '';
+		$this->Auth->ajaxLogin = 'test_element';
+
+		Router::setRequestInfo($this->Auth->request);
+
+		$this->Controller->response = $this->getMock('CakeResponse', array('send'));
+		$this->Controller->response->expects($this->once())->method('send');
+		$this->Auth->initialize($this->Controller);
+
+		$result = $this->Auth->startup($this->Controller);
+
+		$this->assertFalse($result);
+		$this->assertEquals('this is the test element', $this->Controller->response->body());
+		unset($_SERVER['HTTP_X_REQUESTED_WITH']);
+	}
+
+/**
  * testLoginActionRedirect method
  *
  * @return void