From 76ec13e6a342728400d01b2f63ac4cf423ee49ca Mon Sep 17 00:00:00 2001
From: pbarroca <pbarroca@git-test.afi-sa.fr>
Date: Tue, 11 Sep 2012 08:00:48 +0000
Subject: [PATCH] Tests: introduction mock manquant

---
 .../controllers/CatalogueControllerTest.php   | 79 ++++++++++++-------
 1 file changed, 51 insertions(+), 28 deletions(-)

diff --git a/tests/application/modules/opac/controllers/CatalogueControllerTest.php b/tests/application/modules/opac/controllers/CatalogueControllerTest.php
index d21dc9ac277..5a487d0498e 100644
--- a/tests/application/modules/opac/controllers/CatalogueControllerTest.php
+++ b/tests/application/modules/opac/controllers/CatalogueControllerTest.php
@@ -21,60 +21,83 @@
 require_once 'AbstractControllerTestCase.php';
 
 class CatalogueControllerAppelMenuTest extends AbstractControllerTestCase {
+	protected $_sql;
+	protected $_sql_mock;
+
+	public function setUp() {
+		parent::setUp();
+
+		$this->_sql = Zend_Registry::get('sql');
+		$this->_sql_mock = Storm_Test_ObjectWrapper::mock()
+				->whenCalled('fetchOne')
+				->answers(null)
+
+				->whenCalled('fetchAll')
+				->answers([]);
+		
+		Zend_Registry::set('sql', $this->_sql_mock);
+	}
+
+
+	public function tearDown() {
+		Zend_Registry::set('sql', $this->_sql);
+	}
+	
+		
 	/** 
 	 *Test non regression chatenay: ecran blanc sur menu vertical
 	 *@test 
 	 */
-	function withWrongRequestShouldNotDoError500() {
-		$query = "titre=Le+Dispositif+Trace&aleatoire=1&tri=1&nb_notices=0&nb_analyse=50&id_catalogue=0&id_panier=139999&id_user=20001&reset=true";
-		$_REQUEST = array();
-		foreach (explode('&', $query) as $param) {
-			$params = explode('=', $param);
-			$_REQUEST[$params[0]] = $params[1];
-		}
+	public function withWrongRequestShouldNotDoError500() {
+		$this->_dispatchQuery("titre=Le+Dispositif+Trace&aleatoire=1&tri=1&nb_notices=0&nb_analyse=50&id_catalogue=0&id_panier=139999&id_user=20001&reset=true");
 
-		$this->dispatch('catalogue/appelmenu?'.$query);
 		$this->assertXPathContentContains('//h2', 'Aucune notice trouvée');
 	}
 
+
 	/** 
-	 *Test non regression Pontault-Combault: ecran blanc sur lien catalogue
-	 *@test 
+	 * Test non regression Pontault-Combault: ecran blanc sur lien catalogue
+	 * @test 
 	 */
-	function getFacettesSqlError() {
+	public function getFacettesSqlError() {
 		$catalogue_test = Class_Catalogue::getLoader()
 			->newInstanceWithId(151)
 			->setLibelle('nouveautés')
 			->setTypeDoc('1;3;4;5');
 
-		$query = "titre=Catalogue&aleatoire=0&tri=1&nb_notices=+&nb_analyse=&id_catalogue=151&id_panier=0&id_user=0&reset=true";
-		$this->_updateMagicREQUESTWith($query);
-		$this->dispatch('catalogue/appelmenu?'.$query, true);
+		$this->_dispatchQuery('titre=Catalogue&aleatoire=0&tri=1&nb_notices=+&nb_analyse=&id_catalogue=151&id_panier=0&id_user=0&reset=true');
+
 		$this->assertXPathContentContains('//h1', 'Catalogue');
 	}
 
 
-	protected function _updateMagicREQUESTWith($query) {
-		$_REQUEST = array();
-		foreach (explode('&', $query) as $param) {
-			$params = explode('=', $param);
-			$_REQUEST[$params[0]] = $params[1];
-		}
+	/** @test */
+	public function withFacettesRequestShouldNotThrowError() {
+		$this->_dispatchQuery("titre=Catalogue%20-%20Histoire&aleatoire=0&tri=0&nb_notices=0&nb_analyse=50&id_catalogue=12&id_panier=&id_user=0&PHPSESSID=e08025e8cf614198106cc7778f021b4c&facette=A27173");
+	}
+
+
+	/**
+	 * @param $query string
+	 * @return CatalogueControllerAppelMenuTest
+	 */
+	protected function _dispatchQuery($query) {
+		$this->_updateMagicREQUESTWith($query);
+		$this->dispatch('catalogue/appelmenu?' . $query, true);
 		return $this;
 	}
 
 
-	/** @test */
-	public function withFacettesRequestShouldNotThrowError() {
-		$query = "titre=Catalogue%20-%20Histoire&aleatoire=0&tri=0&nb_notices=0&nb_analyse=50&id_catalogue=12&id_panier=&id_user=0&PHPSESSID=e08025e8cf614198106cc7778f021b4c&facette=A27173";
+	/**
+	 * @param $query string
+	 * @return CatalogueControllerAppelMenuTest
+	 */
+	protected function _updateMagicREQUESTWith($query) {
 		$_REQUEST = array();
 		foreach (explode('&', $query) as $param) {
 			$params = explode('=', $param);
 			$_REQUEST[$params[0]] = $params[1];
 		}
-
-		$this->dispatch('catalogue/appelmenu?'.$query);
+		return $this;
 	}
-}
-
-?>
\ No newline at end of file
+}
\ No newline at end of file
-- 
GitLab