From 16d52f6fd3a0f66d669ed2d9a4556d905a76d407 Mon Sep 17 00:00:00 2001
From: efalcy <efalcy@git-test.afi-sa.fr>
Date: Fri, 16 Nov 2012 10:29:18 +0000
Subject: [PATCH] =?UTF-8?q?Enregistrement=20du=20l'utilisateur=20qui=20a?=
 =?UTF-8?q?=20envoy=C3=A9=20le=20formulaire?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../opac/controllers/FormulaireController.php |  6 +-
 .../controllers/FormulaireControllerTest.php  | 57 ++++++++++++++++++-
 2 files changed, 57 insertions(+), 6 deletions(-)

diff --git a/application/modules/opac/controllers/FormulaireController.php b/application/modules/opac/controllers/FormulaireController.php
index 5edb858a313..9e7de652dfa 100644
--- a/application/modules/opac/controllers/FormulaireController.php
+++ b/application/modules/opac/controllers/FormulaireController.php
@@ -21,9 +21,9 @@
 class FormulaireController extends ZendAfi_Controller_Action {
 	public function addAction() {
 		$formulaire = new Class_Formulaire();
-		$formulaire
-		->setData(serialize($this->_request->getPost()))
-		->save();
+		$formulaire->setData(serialize(	 $this->_request->getPost()))
+							 ->setUser(Class_Users::getIdentity())
+							 ->save();
 	}
 
 }
diff --git a/tests/application/modules/opac/controllers/FormulaireControllerTest.php b/tests/application/modules/opac/controllers/FormulaireControllerTest.php
index 74073c404d9..afdd894d30c 100644
--- a/tests/application/modules/opac/controllers/FormulaireControllerTest.php
+++ b/tests/application/modules/opac/controllers/FormulaireControllerTest.php
@@ -19,9 +19,9 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA 
  */
 
-class FormulaireControllerPostActionTest extends Admin_AbstractControllerTestCase {
-  public function setUp() {
-    parent::setUp();
+abstract class FormulaireControllerPostActionTestCase extends Admin_AbstractControllerTestCase {
+	public function setUp() {
+		parent::setUp();
 
 		Storm_Test_ObjectWrapper::onLoaderOfModel('Class_Formulaire')
 		->whenCalled('save')
@@ -34,6 +34,23 @@ class FormulaireControllerPostActionTest extends Admin_AbstractControllerTestCas
 		$timesource = new TimeSourceForTest();
 		$timesource->setTime(strtotime('2012-10-23 12:32:00'));
 		Class_Formulaire::setTimeSource($timesource);
+	}
+}
+
+
+
+
+class FormulaireControllerPostActionTest extends FormulaireControllerPostActionTestCase {
+	protected $_user;
+
+  public function setUp() {
+    parent::setUp();
+
+		$user = Class_Users::newInstanceWithId(23, ['nom' => 'Mas', 
+																								'prenom' => 'Fanto', 
+																								'login' => 'fantomas']);
+		ZendAfi_Auth::getInstance()->logUser($user);
+
 
     $this->postDispatch('/formulaire/add', 
 												['nom' => 'Tinguette' ,
@@ -62,6 +79,40 @@ class FormulaireControllerPostActionTest extends Admin_AbstractControllerTestCas
 																	 'prenom' => 'Quentin']),
 																	$this->new_formulaire->getData());
 	}
+
+	/** @test */
+	public function saveFormulaireShouldSaveUserIdIfConnected() {
+		$this->assertEquals(23, $this->new_formulaire->getIdUser());
+		
+	}
+
+}
+
+
+
+
+class FormulaireControllerWithoutConnectedUserPostActionTest extends FormulaireControllerPostActionTestCase {
+
+  public function setUp() {
+    parent::setUp();
+
+		ZendAfi_Auth::getInstance()->clearIdentity();
+
+    $this->postDispatch('/formulaire/add', 
+												['nom' => 'Tinguette' ,
+												 'prenom' => 'Quentin' ]
+												,true);
+
+		$this->new_formulaire = Class_Formulaire::find(2);
+
+	}
+
+	/** @test */
+	public function saveFormulaireShouldNotHaveAnyUsers() {
+		$this->assertEmpty($this->new_formulaire->getUser());
+		
+	}
+
 }
 
 ?>
\ No newline at end of file
-- 
GitLab