[ 'User' => [ 'sn' => [0 => 'test2'], 'mail' => [0 => 'test@test.fr'], 'givenname' => [0 => 'test1'], 'cn' => [0 => 'user1_SUPER'], 'userpassword' => [0 => 'test'], ] ] ]; $this->session($user); $authType = ['authType' => 'cn']; $this->session($authType); } */ //@Implement //protected function getEntitiesName() { return 'Emprunts'; } //@Implement protected function getNewEntityWithAllMandatoryFields() { $matos_created_id = 1; $matos_validated_id = 3; return [ // (EP) pas utile car auto //'id' => 5, //'materiel_id' => 1, // created 'materiel_id' => $matos_validated_id, // validated 'date_emprunt' => '2016-04-19', 'date_retour_emprunt' => '2016-04-19', 'emprunt_interne' => 0, 'laboratoire' => 'Lorem ipsum dolor sit amet', 'site_id' => 1, // Roche 'e_lieu_detail' => 'Lorem ipsum dolor sit amet', 'nom_emprunteur' => 'Lorem ipsum dolor sit amet', 'email_emprunteur' => 'Lorem ipsum dolor sit amet', 'tel' => 'Lorem ipsum dolor ', 'commentaire' => 'TEST ADD EMPRUNT', 'nom_createur' => 'Lorem ipsum dolor sit amet', 'nom_modificateur' => 'Lorem ipsum dolor sit amet', 'created' => '2016-04-19 09:09:26', 'modified' => '2016-04-19 09:09:26' ]; } /** * Test index method * * @return void */ public function testIndex() { //$this->authUser(); $this->authSuperAdmin(); //1) On doit pouvoir accéder à la page une fois authentifié $this->get('/emprunts/index'); $this->assertNoRedirect("Authentifier mais redirection vers /users/login."); //2) On doit avoir 3 matériels $this->assertResponseContains("Liste des emprunts (2)", "Le nombre d'emprunt renvoyé est incorrect."); } /** * Test view method * * @return void */ public function testView() { //$this->authUser(); $this->authSuperAdmin(); $this->get('/emprunts/view/2'); $this->assertResponseContains("TEST VIEW EMPRUNT VALIDE", "L'emprunt retourné n'est pas celui demandé."); } /** * Test add method * * @return void */ public function OFF_testAdd() { $matos_created_id = 1; $matos_validated_id = 3; $data = [ // (EP) optionnel : ////'id' => 5, //'materiel_id' => 1, // created 'materiel_id' => $matos_validated_id, // validated 'date_emprunt' => '2016-04-19', 'date_retour_emprunt' => '2016-04-19', 'emprunt_interne' => 0, 'laboratoire' => 'Lorem ipsum dolor sit amet', 'site_id' => 1, // Roche 'e_lieu_detail' => 'Lorem ipsum dolor sit amet', 'nom_emprunteur' => 'Lorem ipsum dolor sit amet', 'email_emprunteur' => 'Lorem ipsum dolor sit amet', 'tel' => 'Lorem ipsum dolor ', 'commentaire' => 'TEST ADD EMPRUNT', 'nom_createur' => 'Lorem ipsum dolor sit amet', 'nom_modificateur' => 'Lorem ipsum dolor sit amet', 'created' => '2016-04-19 09:09:26', 'modified' => '2016-04-19 09:09:26' ]; //$this->authUser(); $this->authSuperAdmin(); //debug($data); // Nb emprunts au départ dans la fixture $nb_emprunts = 2; // Methode commune de la classe parente $this->_testAddEntitiesRelatedToMateriel("emprunt", $nb_emprunts, $data); /* $this->get('/emprunts/index'); $this->assertResponseContains("Liste des emprunts ($nb_emprunts)", "Le nombre initial (fixture) d'emprunts dans la BD devrait être de $nb_emprunts !"); // Ajout d'un 1er emprunt (matériel VALIDATED) => OK //$data['materiel_id'] = $matos_validated_id; //$this->assertTextEquals($data['materiel_id'], $matos_validated_id); $this->post("/emprunts/add/$matos_validated_id", $data); $nb_emprunts++; //debug($nb_emprunts); $this->get('/emprunts/index'); $this->assertResponseContains("Liste des emprunts ($nb_emprunts)", "L'emprunt1 d'un materiel VALIDATED ne s'ajoute pas correctement alors que ça devrait !"); // Ajout d'un 2ème emprunt (matériel VALIDATED) => OK $this->post("/emprunts/add/$matos_validated_id", $data); $nb_emprunts++; $this->get('/emprunts/index'); $this->assertResponseContains("Liste des emprunts ($nb_emprunts)", "L'emprunt2 d'un materiel VALIDATED ne s'ajoute pas correctement alors que ça devrait !"); // Ajout d'un 3ème emprunt (matériel CREATED) => KO $data['materiel_id'] = $matos_created_id; $this->assertTextEquals($data['materiel_id'], $matos_created_id); $this->post("/emprunts/add/$matos_created_id", $data); //$nb_emprunts++; $this->get('/emprunts/index'); $this->assertResponseContains("Liste des emprunts ($nb_emprunts)", "L'emprunt3 d'un materiel CREATED s'ajoute correctement alors que ça ne devrait pas !"); // Ajout d'un 4ème emprunt (matériel VALIDATED) => OK $data['materiel_id'] = $matos_validated_id; $this->assertTextEquals($data['materiel_id'], $matos_validated_id); $this->post("/emprunts/add/$matos_validated_id", $data); $nb_emprunts++; $this->get('/emprunts/index'); $this->assertResponseContains("Liste des emprunts ($nb_emprunts)", "L'emprunt4 d'un materiel VALIDATED ne s'ajoute pas correctement alors que ça devrait !"); */ } /** * Test edit method * * @return void */ public function OFF_testEdit() { //$this->authUser(); $this->authSuperAdmin(); $data = [ 'materiel_id' => 1, 'date_emprunt' => '2016-04-19', 'date_retour_emprunt' => '2016-04-19', 'emprunt_interne' => 0, 'laboratoire' => 'Lorem ipsum dolor sit amet', 'site_id' => 1, // Roche 'e_lieu_detail' => 'Lorem ipsum dolor sit amet', 'nom_emprunteur' => 'Lorem ipsum dolor sit amet', 'email_emprunteur' => 'Lorem ipsum dolor sit amet', 'tel' => 'Lorem ipsum dolor ', 'commentaire' => 'TEST EDIT EMPRUNT VALIDE', 'nom_createur' => 'Lorem ipsum dolor sit amet', 'nom_modificateur' => 'Lorem ipsum dolor sit amet', 'created' => '2016-04-19 09:09:26', 'modified' => '2016-04-19 09:09:26' ]; $this->post('/emprunts/edit/1', $data); $this->get('/emprunts/view/1'); $this->assertResponseContains("TEST EDIT EMPRUNT VALIDE", "L'emprunt n'a pas était édité correctement"); } /** * Test delete method * * @return void */ public function OFF_testDelete() { //$this->authUser(); $this->authSuperAdmin(); $this->post('/emprunts/delete/2'); $this->get('/emprunts/index'); $this->assertResponseContains("Liste des emprunts (1)", "L' emprunt n'as pas été supprimé."); } /** * Test (automatique) de (presque) TOUTES les actions de CE controleur * * @return void * * @dataProvider dataProviderActionsAndRoles4 */ public function testAuthorizationsForAllActionsOnEmprunts($action, $role_short, $role_long) { // call parent General $this->_testAuthorizationsForAllControllerActions($action, $role_short, $role_long); } }