This repository has been archived on 2024-12-01. You can view files and clone it, but cannot push or open issues or pull requests.
factuges_web/www/protected/tests/modules/usuario/unit/UsuarioTest.php
david e93adbdd4e - Importación inicial
- 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
2013-06-13 16:04:48 +00:00

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());
}
}