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