public function testEditar() { //creamos una sucursal para fines del experimento $direccion = array("calle" => "Monte Balcanes", "numero_exterior" => "107", "numero_interior" => null, "colonia" => "Arboledas", "codigo_postal" => "38060", "id_ciudad" => 334, "referencia" => "Calle cerrada", "telefono1" => "4616149974", "telefono2" => "45*451*454"); $sucursal = SucursalesController::Nueva("Sucursal de phpunit editar " . time(), $direccion, 1, 1, null); //para cambiar la moneda try { $moneda = new Moneda(array("nombre" => "Moneda_" . time(), "simbolo" => "Simbolo_" . time(), "activa" => 1)); MonedaDAO::save($moneda); } catch (Exception $e) { } //editar basico SucursalesController::Editar($id_sucursal = $sucursal["id_sucursal"], $activo = 0, $descripcion = "Descripcion de la sucursal", $direccion = null, $empresas = null, $id_gerente = 1, $id_moneda = $moneda->getIdMoneda(), $razon_social = "Empresa x", $saldo_a_favor = "100000"); //editar la direccion SucursalesController::Editar($id_sucursal = $sucursal["id_sucursal"], $activo = 0, $descripcion = "_EDITADO_" . time(), $direccion = array("calle" => "Monte Balcanes", "numero_exterior" => "107", "colonia" => "Arboledas", "id_ciudad" => 334, "codigo_postal" => "38060", "numero_interior" => null, "texto_extra" => "Calle cerrada", "telefono1" => "4616149974", "telefono2" => "45*451*454"), $empresas = null, $id_gerente = 1, $id_moneda = $moneda->getIdMoneda(), $razon_social = "Empresa x", $saldo_a_favor = "100000"); //vamos a ver si si se edito esa madre $_s = SucursalDAO::getByPK($sucursal["id_sucursal"]); $this->assertEquals($descripcion, $_s->getDescripcion()); $_d = DireccionDAO::getByPK($_s->getIdDireccion()); $this->assertEquals($_d->getCalle(), "Monte Balcanes"); $this->assertEquals($_d->getNumeroExterior(), "107"); $this->assertEquals($_d->getColonia(), "Arboledas"); $this->assertEquals($_d->getIdCiudad(), 334); $this->assertEquals($_d->getCodigoPostal(), "38060"); //$this->assertEquals($_d->getTextoExtra(), "Calle cerrada"); }
/** * *Desactiva una moneda * * @param id_moneda int Id de la moneda a desactivar **/ public static function EliminarMoneda($id_moneda) { Logger::log("Eliminando la moneda " . $id_moneda); //Se valida que la moneda exista y que este activa $validar = self::validarParametrosMoneda($id_moneda); if (is_string($validar)) { Logger::error($validar); throw new Exception($validar); } $moneda_base = ConfiguracionDAO::search(new Configuracion(array("descripcion" => "id_moneda_base", "valor" => $id_moneda))); if (count($moneda_base) > 0) { Logger::log("La moneda es la moneda base de una empresa, no se puede desactivar "); throw new BusinessLogicException("La moneda es la moneda base de una empresa, no se puede desactivar"); } //Si algun billete o usuario tiene asignada esta moneda, no se podra eliminar $billetes = BilleteDAO::search(new Billete(array("id_moneda" => $id_moneda))); foreach ($billetes as $billete) { if ($billete->getActivo()) { Logger::error("La moneda no puede ser eliminada pues esta asignada al billete " . $billete->getIdBillete()); throw new Exception("La moneda no puede ser eliminada pues esta asignada al billete " . $billete->getIdBillete()); } } $usuarios = UsuarioDAO::search(new Usuario(array("id_moneda" => $id_moneda))); foreach ($usuarios as $usuario) { if ($usuario->getActivo()) { Logger::error("La moneda no puede ser eliminada pues esta asignada al usuario " . $usuario->getIdUsuario()); throw new Exception("La moneda no puede ser eliminada pues esta asignada al usuario " . $usuario->getIdUsuario()); } } //Se elimina y se guarda $moneda = MonedaDAO::getByPK($id_moneda); $moneda->setActiva(0); DAO::transBegin(); try { MonedaDAO::save($moneda); } catch (Exception $e) { DAO::transRollback(); Logger::error("No se pudo eliminar la moneda: " . $e); throw new Exception("No se pudo eliminar la moneda"); } DAO::transEnd(); Logger::log("La moneda ha sido eliminada exitosamente"); }