UsersControllerTest.php 2.3 KB
<?php
namespace App\Test\TestCase\Controller;

use App\Controller\UsersController;
use Cake\TestSuite\IntegrationTestCase;

/**
 * App\Controller\UsersController Test Case
 */
class UsersControllerTest extends IntegrationTestCase
{

    /**
     * Fixtures
     *
     * @var array
     */
    public $fixtures = [
        'app.users',
        'app.groupes_metiers',
        'app.materiels',
        'app.sur_categories',
        'app.categories',
        'app.sous_categories',
        'app.groupes_thematiques',
        'app.organismes',
        'app.sites',
        'app.emprunts',
        'app.documents',
        'app.suivis',
        'app.type_suivis',
    	'app.configurations'
    ];

    public function authUser() {
    	$user = [
    			'Auth' => [
    					'User' => [
    							'sn' => [0 => 'test2'],
    							'mail' => [0 => 'test@test.fr'],
    							'givenname' => [0 => 'test1'],
    							'cn' => [0 => 'testa'],
    							'userpassword' => [0 => 'test'],
    					]
    			]
    	];
    	$this->session($user);
    	 
    	$authType = ['authType' => 'cn'];
    	$this->session($authType);
    	 
    	 
    }
    
    /**
     * Test login method
     *
     * @return void
     */
    public function testLogin()
    {
    	$this->post('/users/login', ['ldap' => 'testa', 'password' => 'test']);
        $this->assertRedirect('/pages/home', 'La connection de l\'utilisateur ne fonctionne pas correctement');
    }


    /**
     * Test logout method
     *
     * @return void
     */
    public function testLogout()
    {
    	$this->authUser();
    	
        $this->post('/users/logout');
        $this->assertRedirect('/pages/home', 'La déconnection de l\'utilisateur ne fonctionne pas correctement');
    }

    /**
     * Test add method
     *
     * @return void
     */
    public function testAdd()
    {
    	$this->authUser();
    	
    	$data = [
            'id' => 6,
            'nom' => 'Test3 Test4',
            'username' => 'testo',
            'password' => 'test',
            'email' => 'testo@test.fr',
            'role' => 'Super Administrateur',
            'groupes_metier_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');
    }


}