示例#1
0
 /**
  * Realiza modificaciones varias a la carga y sincroniza
  * Prueba Altas, bajas y modificaciones:
  * 	-Da de alta un nuevo departamento
  *  -Le asigna los empleados de otro depto (el de transporte)
  *  -Borra el depto de transporte (y sus tareas asignadas tambien)
  */
 function test_memoria_modificaciones_y_sincronizacion()
 {
     $this->cargar();
     //$this->dr->dump_esquema("INICIAL");
     //Al ser necesario que update se ejecuta antes que delete se deben retrazar las constraints
     $this->dr->persistidor()->retrasar_constraints();
     //Depto de transporte
     $transporte = $this->dr->tabla('depto')->get_id_fila_condicion(array('cod_depto' => 100));
     //Nuevo Depto.
     $dep_c = $this->dr->tabla('depto')->nueva_fila($this->get_fila_test('depto', 'comercial'));
     //Se transfieren los empleados de prensa a comercial
     $this->dr->tabla('depto')->set_cursor(current($transporte));
     $emple_trans = $this->dr->tabla('empleado')->get_id_filas();
     foreach ($emple_trans as $empleado) {
         $this->dr->tabla('empleado')->cambiar_padre_fila($empleado, array('depto' => $dep_c));
     }
     //Borra del depto.
     $this->dr->tabla('depto')->eliminar_fila(current($transporte));
     $this->dr->sincronizar();
     $this->cargar();
     //--ASERCIONES
     $dep_c = $this->dr->tabla('depto')->get_id_fila_condicion($this->get_fila_test('depto', 'comercial'));
     $tarea_vigilancia = $this->dr->tabla('tarea')->get_id_fila_condicion(array('cod_tarea' => 3));
     $this->assertEqual($this->dr->tabla('depto')->get_cantidad_filas(), 2);
     $this->dr->tabla('depto')->set_cursor(current($dep_c));
     $this->assertEqual($this->dr->tabla('empleado')->get_cantidad_filas(), 2);
     //La tarea de vigilancia no debe estar más asociada con un deptro
     $this->dr->tabla('tarea')->set_cursor(current($tarea_vigilancia));
     $this->assertEqual($this->dr->tabla('depto_tareas')->get_cantidad_filas(), 0);
     //$this->dr->dump_esquema("CAMBIO");
 }
示例#2
0
文件: odr_ci.php 项目: emma5021/toba
 function sincronizar($usar_cursores = false)
 {
     //--- Si no hay pantalla definida se asume una
     if ($this->tabla('pantallas')->get_cantidad_filas() == 0) {
         $fila = array('identificador' => 'pant_inicial', 'etiqueta' => 'Pantalla Inicial');
         $this->tabla('pantallas')->nueva_fila($fila);
     }
     parent::sincronizar($usar_cursores);
 }