/**
  * @test
  */
 public function queryRestrictionsAreReevaluatedOnSettingsChangeForExecute()
 {
     $GLOBALS['TCA']['pages']['ctrl'] = ['tstamp' => 'tstamp', 'versioningWS' => true, 'delete' => 'deleted', 'crdate' => 'crdate', 'enablecolumns' => ['disabled' => 'hidden']];
     $this->connection->quoteIdentifier(Argument::cetera())->willReturnArgument(0);
     $this->connection->quoteIdentifiers(Argument::cetera())->willReturnArgument(0);
     $this->connection->getExpressionBuilder()->willReturn(GeneralUtility::makeInstance(ExpressionBuilder::class, $this->connection->reveal()));
     $concreteQueryBuilder = GeneralUtility::makeInstance(\Doctrine\DBAL\Query\QueryBuilder::class, $this->connection->reveal());
     $subject = GeneralUtility::makeInstance(QueryBuilder::class, $this->connection->reveal(), null, $concreteQueryBuilder);
     $subject->select('*')->from('pages')->where('uid=1');
     $subject->getQueryContext()->setIgnoreEnableFields(true)->setIgnoredEnableFields(['disabled']);
     $expectedSQL = 'SELECT * FROM pages WHERE (uid=1) AND (pages.deleted = 0)';
     $this->connection->executeQuery($expectedSQL, Argument::cetera())->shouldBeCalled();
     $subject->execute();
     $subject->getQueryContext()->setIgnoreEnableFields(false);
     $expectedSQL = 'SELECT * FROM pages WHERE (uid=1) AND ((pages.hidden = 0) AND (pages.deleted = 0))';
     $this->connection->executeQuery($expectedSQL, Argument::cetera())->shouldBeCalled();
     $subject->execute();
 }
Exemplo n.º 2
0
 /**
  * @test
  */
 public function quoteIdentifiers()
 {
     $input = ['aField', 'anotherField'];
     $expected = ['"aField"', '"anotherField"'];
     $this->assertSame($expected, $this->connection->quoteIdentifiers($input));
 }