- Registro, activación y entrada de usuarios git-svn-id: https://192.168.0.254/svn/Rodax.factuges_web/trunk@2 e455b18d-f7fe-5245-9c43-e2c35af70a32
125 lines
4.4 KiB
PHP
125 lines
4.4 KiB
PHP
<?php
|
|
|
|
Yii::import('application.modules.usuario.models.Usuario');
|
|
|
|
class UsuarioTest extends CDbTestCase {
|
|
|
|
protected $fixtures = array(
|
|
'usuarios' => 'Usuario',
|
|
'perfiles' => 'Perfil',
|
|
);
|
|
|
|
protected function setUp() {
|
|
$this->getFixtureManager()->basePath = Yii::getPathOfAlias('application.tests.modules.usuario.fixtures');
|
|
parent::setUp();
|
|
}
|
|
|
|
public function testCrear() {
|
|
|
|
$usuario_correcto = array(
|
|
'username' => 'username_correcto',
|
|
'password' => 'pass word',
|
|
'email' => 'prueba@prueba.com',
|
|
'superusuario' => 0,
|
|
'estado' => Usuario::ESTADO_ACTIVO,
|
|
);
|
|
|
|
$nuevoUsuario = new Usuario;
|
|
$nuevoUsuario->username = $usuario_correcto['username'];
|
|
$nuevoUsuario->password = UsuarioModule::cifrar($usuario_correcto['password']);
|
|
$nuevoUsuario->email = $usuario_correcto['email'];
|
|
$nuevoUsuario->superusuario = $usuario_correcto['superusuario'];
|
|
$nuevoUsuario->estado = $usuario_correcto['estado'];
|
|
|
|
// Guardar usuario
|
|
$this->assertTrue($nuevoUsuario->save(false));
|
|
|
|
// Recuperar y comprobar
|
|
$usuarioRecuperado = Usuario::model()->findByPk($nuevoUsuario->id);
|
|
$this->assertTrue($usuarioRecuperado instanceof Usuario);
|
|
$this->assertEquals($nuevoUsuario->username, $usuarioRecuperado->username);
|
|
$this->assertEquals($nuevoUsuario->email, $usuarioRecuperado->email);
|
|
$this->assertEquals($nuevoUsuario->superusuario, $usuarioRecuperado->superusuario);
|
|
$this->assertEquals($nuevoUsuario->estado, $usuarioRecuperado->estado);
|
|
}
|
|
|
|
public function testLeer() {
|
|
$usuarioRecuperado = $this->usuarios('admin');
|
|
$this->assertTrue($usuarioRecuperado instanceof Usuario);
|
|
$this->assertEquals($this->usuarios['admin']['username'], $usuarioRecuperado->username);
|
|
}
|
|
|
|
public function testValidaciones() {
|
|
|
|
$usuario = new Usuario;
|
|
|
|
// nombre de usuario en blanco
|
|
$usuario->username = '';
|
|
$this->assertFalse($usuario->validate(array('username')));
|
|
|
|
// nombre de usuario con espacios en blanco
|
|
$usuario->username = 'con espacios en blanco';
|
|
$this->assertFalse($usuario->validate(array('username')));
|
|
|
|
// nombre de usuario muy corto
|
|
$usuario->username = 'ab';
|
|
$this->assertFalse($usuario->validate(array('username')));
|
|
|
|
// nombre de usuario muy largo
|
|
$usuario->username = 'abcdefghijklmnopqrstuvwxyz';
|
|
$this->assertFalse($usuario->validate(array('username')));
|
|
|
|
// nombre de usuario OK
|
|
$usuario->username = 'username_correcto';
|
|
$this->assertTrue($usuario->validate(array('username')));
|
|
|
|
// email incorrecto
|
|
$usuario->email = 'email_incorrecto';
|
|
$this->assertFalse($usuario->validate(array('email')));
|
|
|
|
// email nulo
|
|
$usuario->email = '';
|
|
$this->assertFalse($usuario->validate(array('email')));
|
|
|
|
// email OK
|
|
$usuario->email = 'prueba@prueba.com';
|
|
$this->assertTrue($usuario->validate(array('email')));
|
|
|
|
// sin password
|
|
$usuario->password = '';
|
|
$this->assertFalse($usuario->validate(array('password')));
|
|
|
|
// password muy corta
|
|
$usuario->password = 'abc';
|
|
$this->assertFalse($usuario->validate(array('password')));
|
|
|
|
// password OK
|
|
$usuario->password = 'la contraseña';
|
|
$this->assertTrue($usuario->validate(array('password')));
|
|
|
|
// estado no válido
|
|
$usuario->estado = -999;
|
|
$this->assertFalse($usuario->validate());
|
|
|
|
// estado no nomérico
|
|
$usuario->estado = 'abc';
|
|
$this->assertFalse($usuario->validate());
|
|
|
|
// estado OK
|
|
$usuario->estado = Usuario::ESTADO_ACTIVO;
|
|
$this->assertTrue($usuario->validate());
|
|
|
|
// superusuario no válido
|
|
$usuario->superusuario = 9;
|
|
$this->assertFalse($usuario->validate());
|
|
|
|
// superusuario no nomérico
|
|
$usuario->superusuario = 'abc';
|
|
$this->assertFalse($usuario->validate());
|
|
|
|
// superusuario OK
|
|
$usuario->superusuario = 0;
|
|
$this->assertTrue($usuario->validate());
|
|
}
|
|
|
|
} |