[ '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); } */ /** * Test UNauthentified access to website * * By default, must have ONLY access to /about page, or /login page * * @return void */ public function testUser10AccessAsAnonymous() { $this->get('/pages/about'); $this->assertResponseContains('A PROPOS DU LOGICIEL', 'Un utilisateur NON authentifié devrait avoir accès à la page /about'); $this->get('/'); $this->assertRedirect('/users/login', 'Un utilisateur NON authentifié devrait etre redirigé sur la page de login'); } /** * Test login method * * @return void */ public function testUser20LoginAsSuper() { $this->post('/users/login', ['ldap' => 'user1_SUPER', 'password' => 'test']); $this->assertRedirect('/pages/home', 'Un utilisateur privilégié devrait pouvoir se loguer'); } public function testUser21LoginAsUser() { $this->post('/users/login', ['ldap' => 'user5_USER', 'password' => 'test']); $this->assertRedirect('/pages/home', 'Un utilisateur non privilégié devrait pouvoir se loguer'); } /** * Test logout method * TODO: ca marche pas, impossible de simuler un vrai logout, l'utilisateur est toujours connecté !!! * * @return void */ public function TODOtestUser30Logout() { //$this->authUser(); $this->authSuperAdmin(); $this->get('/pages/home'); //$this->assertSession(1, 'Auth.User.id'); // Check user is logged in $this->assertSession('user1_SUPER', 'Auth.User.cn.0'); // Check user is logged in $this->assertSession(['SUPER'], 'Auth.User.sn'); // Check user is logged in $this->get('/users/logout'); $this->assertSession(null, 'Auth.User'); // Check user is logged out //unset($this->session); //$this->assertRedirect('/pages/home', 'Un utilisateur devrait pouvoir se déloguer'); //$this->get('/pages/home'); $this->assertRedirect('/users/login', 'Un utilisateur devrait pouvoir se déloguer et ainsi revenir sur la page login'); //$this->assertRedirect(['controller' => 'Users', 'action' => 'login']); $this->get('/materiels'); $this->assertResponseNotContains('Liste des', 'On devrait normalement etre dé-logué !!! or on ne l\'est pas'); } /** * Test add method * * @return void */ public function testAdd() { //$this->authUser(); $this->authSuperAdmin(); $data = [ 'id' => 6, 'nom' => 'Test3 Test4', 'username' => 'testo', 'password' => 'test', 'email' => 'testo@test.fr', 'role' => 'Super Administrateur', 'groupes_metier_id' => 1, 'groupe_thematique_id' => 1, 'sur_categorie_id' => 1 ]; $this->post('/users/add', $data); $this->get('/users/view/6'); $this->assertResponseContains('Test3 Test4', 'L\'ajout d\'un utilisateur ne fonctionne pas correctement'); } }