protected function _executeTestsNormal($di) { $this->_prepareDb($di->getShared('db')); //Count tests $this->assertEquals(People::count(), Personas::count()); $params = array(); $this->assertEquals(People::count($params), Personas::count($params)); $params = array("estado='I'"); $this->assertEquals(People::count($params), Personas::count($params)); $params = "estado='I'"; $this->assertEquals(People::count($params), Personas::count($params)); $params = array("conditions" => "estado='I'"); $this->assertEquals(People::count($params), Personas::count($params)); //Find first $people = People::findFirst(); $this->assertTrue(is_object($people)); $this->assertEquals(get_class($people), 'People'); $persona = Personas::findFirst(); $this->assertEquals($people->nombres, $persona->nombres); $this->assertEquals($people->estado, $persona->estado); $people = People::findFirst("estado='I'"); $this->assertTrue(is_object($people)); $persona = Personas::findFirst("estado='I'"); $this->assertTrue(is_object($persona)); $this->assertEquals($people->nombres, $persona->nombres); $this->assertEquals($people->estado, $persona->estado); $people = People::findFirst(array("estado='I'")); $persona = Personas::findFirst(array("estado='I'")); $this->assertEquals($people->nombres, $persona->nombres); $this->assertEquals($people->estado, $persona->estado); $params = array("conditions" => "estado='I'"); $people = People::findFirst($params); $persona = Personas::findFirst($params); $this->assertEquals($people->nombres, $persona->nombres); $this->assertEquals($people->estado, $persona->estado); $params = array("conditions" => "estado='A'", "order" => "nombres"); $people = People::findFirst($params); $persona = Personas::findFirst($params); $this->assertEquals($people->nombres, $persona->nombres); $this->assertEquals($people->estado, $persona->estado); $params = array("estado='A'", "order" => "nombres DESC", "limit" => 30); $people = People::findFirst($params); $persona = Personas::findFirst($params); $this->assertEquals($people->nombres, $persona->nombres); $this->assertEquals($people->estado, $persona->estado); $params = array("estado=?1", "bind" => array(1 => 'A'), "order" => "nombres DESC", "limit" => 30); $people = People::findFirst($params); $persona = Personas::findFirst($params); $this->assertEquals($people->nombres, $persona->nombres); $this->assertEquals($people->estado, $persona->estado); $params = array("estado=:estado:", "bind" => array("estado" => 'A'), "order" => "nombres DESC", "limit" => 30); $people = People::findFirst($params); $persona = Personas::findFirst($params); $this->assertEquals($people->nombres, $persona->nombres); $this->assertEquals($people->estado, $persona->estado); $robot = Robots::findFirst(1); $this->assertEquals(get_class($robot), 'Robots'); //Find tests $personas = Personas::find(); $people = People::find(); $this->assertEquals(count($personas), count($people)); $personas = Personas::find("estado='I'"); $people = People::find("estado='I'"); $this->assertEquals(count($personas), count($people)); $personas = Personas::find(array("estado='I'")); $people = People::find(array("estado='I'")); $this->assertEquals(count($personas), count($people)); $personas = Personas::find(array("estado='A'", "order" => "nombres")); $people = People::find(array("estado='A'", "order" => "nombres")); $this->assertEquals(count($personas), count($people)); $personas = Personas::find(array("estado='A'", "order" => "nombres", "limit" => 100)); $people = People::find(array("estado='A'", "order" => "nombres", "limit" => 100)); $this->assertEquals(count($personas), count($people)); $params = array("estado=?1", "bind" => array(1 => "A"), "order" => "nombres", "limit" => 100); $personas = Personas::find($params); $people = People::find($params); $this->assertEquals(count($personas), count($people)); $params = array("estado=:estado:", "bind" => array("estado" => "A"), "order" => "nombres", "limit" => 100); $personas = Personas::find($params); $people = People::find($params); $this->assertEquals(count($personas), count($people)); $number = 0; $peoples = Personas::find(array("conditions" => "estado='A'", "order" => "nombres", "limit" => 20)); foreach ($peoples as $people) { $number++; } $this->assertEquals($number, 20); $persona = new Personas($di); $persona->cedula = 'CELL' . mt_rand(0, 999999); $this->assertFalse($persona->save()); //Messages $this->assertEquals(count($persona->getMessages()), 4); $messages = array(0 => ModelMessage::__set_state(array('_type' => 'PresenceOf', '_message' => 'tipo_documento_id is required', '_field' => 'tipo_documento_id')), 1 => ModelMessage::__set_state(array('_type' => 'PresenceOf', '_message' => 'nombres is required', '_field' => 'nombres')), 2 => ModelMessage::__set_state(array('_type' => 'PresenceOf', '_message' => 'cupo is required', '_field' => 'cupo')), 3 => ModelMessage::__set_state(array('_type' => 'PresenceOf', '_message' => 'estado is required', '_field' => 'estado'))); $this->assertEquals($persona->getMessages(), $messages); //Save $persona = new Personas($di); $persona->cedula = 'CELL' . mt_rand(0, 999999); $persona->tipo_documento_id = 1; $persona->nombres = 'LOST'; $persona->telefono = '1'; $persona->cupo = 20000; $persona->estado = 'A'; $this->assertTrue($persona->save()); $persona = new Personas($di); $persona->cedula = 'CELL' . mt_rand(0, 999999); $persona->tipo_documento_id = 1; $persona->nombres = 'LOST LOST'; $persona->telefono = '2'; $persona->cupo = 0; $persona->estado = 'X'; $this->assertTrue($persona->save()); //Check correct save $persona = Personas::findFirst(array("estado='X'")); $this->assertNotEquals($persona, false); $this->assertEquals($persona->nombres, 'LOST LOST'); $this->assertEquals($persona->estado, 'X'); //Update $persona->cupo = 150000; $persona->telefono = '123'; $this->assertTrue($persona->update()); //Checking correct update $persona = Personas::findFirst(array("estado='X'")); $this->assertNotEquals($persona, false); $this->assertEquals($persona->cupo, 150000); $this->assertEquals($persona->telefono, '123'); //Update $this->assertTrue($persona->update(array('nombres' => 'LOST UPDATE', 'telefono' => '2121'))); //Checking correct update $persona = Personas::findFirst(array("estado='X'")); $this->assertNotEquals($persona, false); $this->assertEquals($persona->nombres, 'LOST UPDATE'); $this->assertEquals($persona->telefono, '2121'); //Create $persona = new Personas($di); $persona->cedula = 'CELL' . mt_rand(0, 999999); $persona->tipo_documento_id = 1; $persona->nombres = 'LOST CREATE'; $persona->telefono = '1'; $persona->cupo = 21000; $persona->estado = 'A'; $this->assertTrue($persona->create()); $persona = new Personas($di); $this->assertTrue($persona->create(array('cedula' => 'CELL' . mt_rand(0, 999999), 'tipo_documento_id' => 1, 'nombres' => 'LOST CREATE', 'telefono' => '1', 'cupo' => 21000, 'estado' => 'A'))); //Grouping $difEstados = People::count(array("distinct" => "estado")); $this->assertEquals($difEstados, 3); $group = People::count(array("group" => "estado")); $this->assertEquals(count($group), 3); //Deleting $before = People::count(); $this->assertTrue($persona->delete()); $this->assertEquals($before - 1, People::count()); //Assign $persona = new Personas(); $persona->assign(array('tipo_documento_id' => 1, 'nombres' => 'LOST CREATE', 'telefono' => '1', 'cupo' => 21000, 'estado' => 'A', 'notField' => 'SOME VALUE')); $expected = array('cedula' => NULL, 'tipo_documento_id' => 1, 'nombres' => 'LOST CREATE', 'telefono' => '1', 'direccion' => NULL, 'email' => NULL, 'fecha_nacimiento' => NULL, 'ciudad_id' => NULL, 'creado_at' => NULL, 'cupo' => 21000, 'estado' => 'A'); $this->assertEquals($persona->toArray(), $expected); //Refresh $persona = Personas::findFirst(); $personaData = $persona->toArray(); $persona->assign(array('tipo_documento_id' => 1, 'nombres' => 'LOST CREATE', 'telefono' => '1', 'cupo' => 21000, 'estado' => 'A', 'notField' => 'SOME VALUE')); $persona->refresh(); $this->assertEquals($personaData, $persona->toArray()); // Issue 1314 $parts = new Parts2(); $parts->save(); }