Пример #1
0
 public function testCacheResultsetSimpleLibmemcached()
 {
     require 'unit-tests/config.db.php';
     if (empty($configMysql)) {
         $this->markTestSkipped('Test skipped');
         return;
     }
     if (!class_exists('Memcached')) {
         $this->markTestSkipped("Memcached class does not exist, test skipped");
         return;
     }
     $cache = $this->_getCache('Libmemcached');
     $key = 'test-resultset-' . mt_rand(0, 9999);
     //Single
     $people = People::findFirst(array('cache' => array('key' => $key)));
     $this->assertTrue(is_object($people));
     $people = $cache->get($key);
     $this->assertEquals(get_class($people->getFirst()), 'People');
     $people = $cache->get($key);
     $this->assertEquals(get_class($people->getFirst()), 'People');
     //Re-get from the cache
     $people = People::findFirst(array('cache' => array('key' => $key)));
     $this->assertTrue(is_object($people));
     $key = 'test-resultset-' . mt_rand(0, 9999);
     //Multiple
     $people = People::find(array('limit' => 35, 'cache' => array('key' => $key)));
     $number = 0;
     foreach ($people as $individual) {
         $this->assertTrue(is_object($individual));
         $number++;
     }
     $this->assertEquals($number, 35);
     $people = $cache->get($key);
     $this->assertEquals(get_class($people), 'Phalcon\\Mvc\\Model\\Resultset\\Simple');
     $number = 0;
     foreach ($people as $individual) {
         $this->assertTrue(is_object($individual));
         $number++;
     }
     $this->assertEquals($number, 35);
     $people = $cache->get($key);
     $this->assertEquals(get_class($people), 'Phalcon\\Mvc\\Model\\Resultset\\Simple');
     //Re-get the data from the cache
     $people = People::find(array('limit' => 35, 'cache' => array('key' => $key)));
     $number = 0;
     foreach ($people as $individual) {
         $this->assertTrue(is_object($individual));
         $number++;
     }
     $this->assertEquals($number, 35);
 }
Пример #2
0
 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();
 }
Пример #3
0
 public function testRawValue()
 {
     $parameters = array('conditions' => ' :rawsql: ', 'bind' => array('rawsql' => new Phalcon\Db\RawValue("estado='I'")));
     $people = People::findFirst($parameters);
     $this->assertTrue(is_object($people));
 }