diff --git a/application/modules/opac/controllers/FormulaireController.php b/application/modules/opac/controllers/FormulaireController.php index 5edb858a313a8e766d81726292e59a6732d20675..9e7de652dfa181fa261e7d56cabb9afcf3a2aeae 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 74073c404d91a4a316a993a1fa668e8118ea87d7..afdd894d30c903aebbe868b068861fca259c4d3b 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