/** * @param array $columns * @param string $sql * @param string $expectedResult * @dataProvider renderDataProvider */ public function testRender($columns, $sql, $expectedResult) { $mapValues = [['column', null, '`column`'], [['table', 'column'], null, '`table`.`column`'], [['table', 'column'], 'alias', '`table`.`column` AS `alias`']]; $this->quoteMock->expects($this->any())->method('quoteColumnAs')->willReturnMap($mapValues); $this->selectMock->expects($this->exactly(2))->method('getPart')->with(Select::COLUMNS)->willReturn($columns); $this->assertEquals($expectedResult, $this->model->render($this->selectMock, $sql)); }
public function testRender() { $sql = 'SELECT'; $expectedResult = $sql . ' ' . Select::SQL_GROUP_BY . ' group1' . ",\n\t" . 'group2'; $mapValues = [[Select::FROM, true], [Select::GROUP, ['group1', 'group2']]]; $this->selectMock->expects($this->exactly(3))->method('getPart')->willReturnMap($mapValues); $this->quoteMock->expects($this->exactly(2))->method('quoteIdentifier')->willReturnArgument(0); $this->assertEquals($expectedResult, $this->model->render($this->selectMock, $sql)); }
/** * @param array $from * @param string $sql * @param string $expectedResult * @dataProvider renderDataProvider */ public function testRender($from, $sql, $expectedResult) { $this->quoteMock->expects($this->any())->method('quoteIdentifier')->willReturnArgument(0); $this->quoteMock->expects($this->any())->method('quoteTableAs')->willReturnCallback(function ($tableName, $correlationName) { return $tableName . ' AS ' . $correlationName; }); $this->selectMock->expects($this->once())->method('getPart')->with(Select::FROM)->willReturn($from); $this->assertEquals($expectedResult, $this->model->render($this->selectMock, $sql)); }