public function getConnection($type)
{
$connection = $this->test->getMockBuilder(Connection::class)->setMethods(['query', 'executeQuery', 'lastInsertId'])->disableOriginalConstructor()->getMock();
$connection->expects($this->test->any())->method('query')->will($this->test->returnCallback([$this, 'executeDatabaseQuery']));
$connection->expects($this->test->any())->method('executeQuery')->will($this->test->returnCallback([$this, 'executeDatabaseQuery']));
$connection->expects($this->test->any())->method('lastInsertId')->will($this->test->returnCallback(function () {
return $this->last_insert_id;
}));
return $connection;
}