public function testDelete() { $query = QueryBuilder::deleteFrom('tablename', ['x' => 'y', 'a' => 'b']); $this->assertEquals('DELETE FROM tablename WHERE x = "y" AND a = "b"', QueryAssembler::stringify($query)); }
public function testExecute() { $datastore = new MockQlDataStore(); $connection = new MockAbstractQlDataConnection(); $datastore->setConnection($connection); $dao = new MockQlDao(); $dao->id = 4; $dao->display = 'John Smith'; $dao->boolTest = false; $datastore->save($dao); $datastore->execute(QueryBuilder::deleteFrom($dao->getTableName(), (new EqualPredicate())->setField('id')->setExpression(NumericExpression::create(4)))); $this->assertEquals('DELETE FROM `mock_ql_daos` WHERE `id` = ?', $connection->getExecutedQuery()); $this->assertEquals([4], $connection->getExecutedQueryValues()); }