public function testAutoConnect() { $datastore = new MockQlDataStore(); $connection = new MockPdoConnection(); $connection->config(); $connection->setResolver(new DalResolver()); $datastore->setConnection($connection); $dao = new MockQlDao(); $dao->username = time() . 'user'; $dao->display = 'User ' . date("Y-m-d"); $datastore->save($dao); $datastore->getConnection()->disconnect(); $new = new MockQlDao(); $new->id = $dao->id; $datastore->load($new); $this->assertEquals($dao->username, $new->username); $datastore->delete($new); }
public function testSave() { $datastore = new MockQlDataStore(); $connection = new MockAbstractQlDataConnection(); $datastore->setConnection($connection); //Insert $dao = new MockQlDao(); $dao->username = '******'; $dao->display = 'John Smith'; $datastore->save($dao); $this->assertEquals('INSERT INTO `mock_ql_daos` (`id`, `username`, `display`, `boolTest`) ' . 'VALUES (?, ?, ?, ?)', $connection->getExecutedQuery()); $this->assertEquals([null, "username", "John Smith", null], $connection->getExecutedQueryValues()); //Update $dao = new MockQlDao(); $dao->id = 3; $datastore->load($dao); $dao->username = '******'; $datastore->save($dao); $this->assertEquals('UPDATE `mock_ql_daos` SET `username` = ? WHERE `id` = ?', $connection->getExecutedQuery()); $this->assertEquals(['usernamde', '3'], $connection->getExecutedQueryValues()); //Insert Update $dao = new MockQlDao(); $dao->id = 3; $dao->display = 'John Smith'; $dao->boolTest = false; $datastore->save($dao); $this->assertEquals('INSERT INTO `mock_ql_daos` (`id`, `username`, `display`, `boolTest`) ' . 'VALUES (?, ?, ?, ?) ' . 'ON DUPLICATE KEY UPDATE `display` = ?, `boolTest` = ?', $connection->getExecutedQuery()); $this->assertEquals([3, null, 'John Smith', 0, 'John Smith', 0], $connection->getExecutedQueryValues()); }