Esempio n. 1
0
 public function testEmulatedPrepare()
 {
     $resolver = new DalResolver();
     Dao::setDalResolver($resolver);
     $datastore = new MockQlDataStore();
     $connection = new MockPdoConnection();
     $connection->addConfig('options', [\PDO::ATTR_EMULATE_PREPARES => true]);
     $connection->config();
     $connection->connect();
     $connection->setResolver($resolver);
     $datastore->setConnection($connection);
     MockQlDao::getDalResolver()->addDataStore('mockql', $datastore);
     MockQlDao::loadOneWhere(['id' => 'y']);
     Dao::unsetDalResolver();
 }
Esempio n. 2
0
 public function testStatics()
 {
     $datastore = new MockQlDataStore();
     $connection = new MockPdoConnection();
     $connection->config();
     $datastore->setConnection($connection);
     $collection = MockQlDao::collection();
     $this->assertInstanceOf(MockQlDao::class, $collection->createNewDao());
     $collection = MockQlDao::collection(['name' => 'Test']);
     $this->assertInstanceOf(MockQlDao::class, $collection->createNewDao());
     $this->assertEquals('SELECT mock_ql_daos.* FROM mock_ql_daos WHERE name = "Test"', QueryAssembler::stringify($collection->getQuery()));
     $resolver = new DalResolver();
     $resolver->boot();
     $resolver->addDataStore('mockql', $datastore);
     $connection->setResolver($resolver);
     $username = uniqid('TEST');
     $u = new MockQlDao();
     $u->username = $username;
     $u->display = 'Test One';
     $u->boolTest = true;
     $u->save();
     // save again to ensure no query is made
     $u->save();
     $mocks = MockQlDao::collection(['username' => $username]);
     $this->assertCount(1, $mocks);
     foreach (MockQlDao::each(['username' => $username]) as $usr) {
         $this->assertInstanceOf(MockQlDao::class, $usr);
     }
     $preloaded = MockQlDao::loadWhere(['username' => $username]);
     $this->assertCount(1, $preloaded);
     $u2 = new MockQlDao();
     $u2->username = '******';
     $u2->display = 'Test One';
     $u2->save();
     try {
         $msg = null;
         MockQlDao::loadOneWhere(['display' => 'Test One']);
     } catch (\Exception $e) {
         $msg = $e->getMessage();
     }
     $this->assertEquals("Multiple Objects were located when trying to load one", $msg);
     $u2Test = MockQlDao::loadOneWhere(['username' => 'Tester']);
     $this->assertEquals($u2->username, $u2Test->username);
     $this->assertNull(MockQlDao::loadOneWhere(['username' => 'Missing']));
     $u->delete();
     $u2->delete();
     $resolver->shutdown();
 }