2 declare(strict_types = 1);
24 use TYPO3\TestingFramework\Core\Functional\Framework\DataHandling\ActionService;
59 protected function setUp(): void
63 $this->backendUser = $this->setUpBackendUserFromFixture(1);
64 $this->backendUser->workspace = 0;
67 $this->actionService = GeneralUtility::makeInstance(ActionService::class);
69 $this->importDataSet(__DIR__ .
'/Fixtures/pages.xml');
70 $this->importDataSet(
'PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/sys_language.xml');
71 $this->importDataSet(ORIGINAL_ROOT .
'typo3/sysext/backend/Tests/Functional/Controller/Page/Fixtures/tt_content-default-language.xml');
73 $this->subject = $this->getMockBuilder(LocalizationController::class)
74 ->setMethods([
'getPageColumns'])
87 'destLanguageId' => 1,
88 'uidList' => [1, 2, 3],
91 $this->callInaccessibleMethod($this->subject,
'process', $params);
100 $this->importDataSet(ORIGINAL_ROOT .
'typo3/sysext/backend/Tests/Functional/Controller/Page/Fixtures/tt_content-danish-language.xml');
104 'srcLanguageId' => 1,
105 'destLanguageId' => 2,
106 'uidList' => [4, 5, 6],
109 $this->callInaccessibleMethod($this->subject,
'process', $params);
120 'srcLanguageId' => 0,
121 'destLanguageId' => 2,
122 'uidList' => [1, 2, 3],
125 $this->callInaccessibleMethod($this->subject,
'process', $params);
134 $this->importDataSet(ORIGINAL_ROOT .
'typo3/sysext/backend/Tests/Functional/Controller/Page/Fixtures/tt_content-danish-language.xml');
138 'srcLanguageId' => 1,
139 'destLanguageId' => 2,
140 'uidList' => [4, 5, 6],
143 $this->callInaccessibleMethod($this->subject,
'process', $params);
163 'srcLanguageId' => 0,
164 'destLanguageId' => 1,
165 'uidList' => [1, 2, 3],
168 $this->callInaccessibleMethod($this->subject,
'process', $params);
174 'sys_language_uid' => 0,
175 'header' =>
'Test content 2.5',
181 $dataHandler =
new DataHandler();
182 $dataHandler->start($data, []);
183 $dataHandler->process_datamap();
184 $dataHandler->process_cmdmap();
185 $newContentElementUid = $dataHandler->substNEWwithIDs[
'NEW123456'];
190 'srcLanguageId' => 0,
191 'destLanguageId' => 1,
192 'uidList' => [$newContentElementUid],
195 $this->callInaccessibleMethod($this->subject,
'process', $params);
204 $this->importDataSet(ORIGINAL_ROOT .
'typo3/sysext/backend/Tests/Functional/Controller/Page/Fixtures/tt_content-danish-language.xml');
210 'sys_language_uid' => 0,
211 'header' =>
'New content element',
218 $dataHandler->start($data, []);
219 $dataHandler->process_datamap();
220 $dataHandler->process_cmdmap();
227 $usedLanguages = (string)$this->subject->getUsedLanguagesInPage($request)->getBody();
228 $this->assertThat($usedLanguages, $this->stringContains(
'"uid":0'));
237 $this->backendUser->workspace = 1;
238 $this->actionService->deleteRecord(
'tt_content', 2);
251 $this->assertEquals($expectedRecords, $localizeSummary);
260 $this->backendUser->workspace = 1;
261 $this->actionService->moveRecord(
'tt_content', 2, 2);
274 $this->assertEquals($expectedRecords, $localizeSummary);
286 'destLanguageId' => 1,
290 $this->subject->method(
'getPageColumns')->willReturn([
295 $recordLocalizeSummaryResponse = $this->subject->getRecordLocalizeSummary($request);
298 if ($recordLocalizeSummary = json_decode((
string)$recordLocalizeSummaryResponse->getBody(),
true)) {
299 foreach ($recordLocalizeSummary[
'records'] as $colPos => $records) {
300 foreach ($records as $key => $record) {
301 $recordLocalizeSummary[
'records'][$colPos][$key] = array_intersect_key($record, [
'uid' =>
'']);
306 return $recordLocalizeSummary[
'records'];
314 $fileName = rtrim($this->assertionDataSetDirectory,
'/') .
'/' . $dataSetName .
'.csv';
315 $fileName = GeneralUtility::getFileAbsFileName($fileName);
316 $this->assertCSVDataSet($fileName);