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");
 }
Esempio n. 2
0
 /**
  *
  *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");
 }