22 use TYPO3\TestingFramework\Core\Functional\Framework\Constraint\RequestSection\DoesNotHaveRecordConstraint;
23 use TYPO3\TestingFramework\Core\Functional\Framework\Constraint\RequestSection\HasRecordConstraint;
24 use TYPO3\TestingFramework\Core\Functional\Framework\Constraint\RequestSection\StructureDoesNotHaveRecordConstraint;
25 use TYPO3\TestingFramework\Core\Functional\Framework\Constraint\RequestSection\StructureHasRecordConstraint;
26 use TYPO3\TestingFramework\Core\Functional\Framework\DataHandling\ActionService;
27 use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase;
58 'typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial',
65 'typo3/sysext/core/Tests/Functional/Fixtures/Frontend/AdditionalConfiguration.php' =>
'typo3conf/AdditionalConfiguration.php',
83 protected function setUp()
87 $this->backendUser = $this->setUpBackendUserFromFixture(self::VALUE_BackendUserId);
98 unset($this->actionService);
99 unset($this->recordIds);
108 $this->backendUser->workspace = $workspaceId;
109 GeneralUtility::makeInstance(Context::class)->setAspect(
'workspace',
new WorkspaceAspect($workspaceId));
117 return GeneralUtility::makeInstance(
127 $fileName = rtrim($this->scenarioDataSetDirectory,
'/') .
'/' . $dataSetName .
'.csv';
128 $fileName = GeneralUtility::getFileAbsFileName($fileName);
129 $this->importCSVDataSet($fileName);
134 $fileName = rtrim($this->assertionDataSetDirectory,
'/') .
'/' . $dataSetName .
'.csv';
135 $fileName = GeneralUtility::getFileAbsFileName($fileName);
136 $this->assertCSVDataSet($fileName);
144 if ($this->expectedErrorLogEntries ===
null) {
148 $queryBuilder = $this->getConnectionPool()
149 ->getQueryBuilderForTable(
'sys_log');
150 $queryBuilder->getRestrictions()->removeAll();
151 $statement = $queryBuilder
155 $queryBuilder->expr()->in(
157 $queryBuilder->createNamedParameter([1, 2], Connection::PARAM_INT_ARRAY)
162 $actualErrorLogEntries = (int)$queryBuilder
167 $this->assertSame($this->expectedErrorLogEntries, $actualErrorLogEntries);
169 $failureMessage =
'Expected ' . $this->expectedErrorLogEntries .
' entries in sys_log, but got ' . $actualErrorLogEntries . LF;
170 while ($entry = $statement->fetch()) {
171 $entryData = unserialize($entry[
'log_data']);
172 $entryMessage = vsprintf($entry[
'details'], $entryData);
173 $failureMessage .=
'* ' . $entryMessage . LF;
175 $this->fail($failureMessage);
184 return new HasRecordConstraint();
192 return new DoesNotHaveRecordConstraint();
200 return new StructureHasRecordConstraint();
208 return new StructureDoesNotHaveRecordConstraint();