‪TYPO3CMS  ‪main
ActionTest.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
19 
20 use PHPUnit\Framework\Attributes\Test;
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\Frontend\InternalRequest;
27 use TYPO3\TestingFramework\Core\Functional\Framework\Frontend\ResponseContent;
28 
30 {
31  #[Test]
32  public function ‪verifyCleanReferenceIndex(): void
33  {
34  // The test verifies the imported data set has a clean reference index by the check in tearDown()
35  self::assertTrue(true);
36  }
37 
38  #[Test]
39  public function ‪addElementRelation(): void
40  {
41  parent::addElementRelation();
42  $this->assertCSVDataSet(__DIR__ . '/DataSet/addElementRelation.csv');
43 
44  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId));
45  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
46  self::assertThat($responseSections, (new StructureHasRecordConstraint())
47  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdFirst)->setRecordField(self::FIELD_ContentElement)
48  ->setTable(self::TABLE_Element)->setField('title')->setValues('Element #1', 'Element #2', 'Element #3'));
49  }
50 
51  #[Test]
52  public function ‪deleteElementRelation(): void
53  {
54  parent::deleteElementRelation();
55  $this->assertCSVDataSet(__DIR__ . '/DataSet/deleteElementRelation.csv');
56 
57  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId));
58  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
59  self::assertThat($responseSections, (new StructureHasRecordConstraint())
60  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdFirst)->setRecordField(self::FIELD_ContentElement)
61  ->setTable(self::TABLE_Element)->setField('title')->setValues('Element #1'));
62  self::assertThat($responseSections, (new StructureDoesNotHaveRecordConstraint())
63  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdFirst)->setRecordField(self::FIELD_ContentElement)
64  ->setTable(self::TABLE_Element)->setField('title')->setValues('Element #2', 'Element #3'));
65  }
66 
67  #[Test]
68  public function ‪changeElementSorting(): void
69  {
70  parent::changeElementSorting();
71  $this->assertCSVDataSet(__DIR__ . '/DataSet/changeElementSorting.csv');
72 
73  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId));
74  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
75  self::assertThat($responseSections, (new StructureHasRecordConstraint())
76  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdFirst)->setRecordField(self::FIELD_ContentElement)
77  ->setTable(self::TABLE_Element)->setField('title')->setValues('Element #1', 'Element #2'));
78  }
79 
80  #[Test]
81  public function ‪changeElementRelationSorting(): void
82  {
83  parent::changeElementRelationSorting();
84  $this->assertCSVDataSet(__DIR__ . '/DataSet/changeElementRelationSorting.csv');
85 
86  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId));
87  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
88  self::assertThat($responseSections, (new StructureHasRecordConstraint())
89  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdFirst)->setRecordField(self::FIELD_ContentElement)
90  ->setTable(self::TABLE_Element)->setField('title')->setValues('Element #1', 'Element #2'));
91  }
92 
93  #[Test]
94  public function ‪createContentAndAddElementRelation(): void
95  {
96  parent::createContentAndAddElementRelation();
97  $this->assertCSVDataSet(__DIR__ . '/DataSet/createContentNAddRelation.csv');
98 
99  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId));
100  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
101  self::assertThat($responseSections, (new HasRecordConstraint())
102  ->setTable(self::TABLE_Content)->setField('header')->setValues('Testing #1'));
103  self::assertThat($responseSections, (new StructureHasRecordConstraint())
104  ->setRecordIdentifier(self::TABLE_Content . ':' . $this->recordIds['newContentId'])->setRecordField(self::FIELD_ContentElement)
105  ->setTable(self::TABLE_Element)->setField('title')->setValues('Element #1'));
106  }
107 
108  #[Test]
110  {
111  parent::createContentAndCreateElementRelation();
112  $this->assertCSVDataSet(__DIR__ . '/DataSet/createContentNCreateRelation.csv');
113 
114  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId));
115  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
116  self::assertThat($responseSections, (new HasRecordConstraint())
117  ->setTable(self::TABLE_Content)->setField('header')->setValues('Testing #1'));
118  self::assertThat($responseSections, (new StructureHasRecordConstraint())
119  ->setRecordIdentifier(self::TABLE_Content . ':' . $this->recordIds['newContentId'])->setRecordField(self::FIELD_ContentElement)
120  ->setTable(self::TABLE_Element)->setField('title')->setValues('Testing #1'));
121  }
122 
123  #[Test]
124  public function ‪modifyElementOfRelation(): void
125  {
126  parent::modifyElementOfRelation();
127  $this->assertCSVDataSet(__DIR__ . '/DataSet/modifyElementOfRelation.csv');
128 
129  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId));
130  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
131  self::assertThat($responseSections, (new StructureHasRecordConstraint())
132  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdFirst)->setRecordField(self::FIELD_ContentElement)
133  ->setTable(self::TABLE_Element)->setField('title')->setValues('Testing #1', 'Element #2'));
134  }
135 
136  #[Test]
137  public function ‪modifyContentOfRelation(): void
138  {
139  parent::modifyContentOfRelation();
140  $this->assertCSVDataSet(__DIR__ . '/DataSet/modifyContentOfRelation.csv');
141 
142  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId));
143  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
144  self::assertThat($responseSections, (new HasRecordConstraint())
145  ->setTable(self::TABLE_Content)->setField('header')->setValues('Testing #1'));
146  }
147 
148  #[Test]
149  public function ‪modifyBothSidesOfRelation(): void
150  {
151  parent::modifyBothSidesOfRelation();
152  $this->assertCSVDataSet(__DIR__ . '/DataSet/modifyBothSidesOfRelation.csv');
153 
154  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId));
155  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
156  self::assertThat($responseSections, (new StructureHasRecordConstraint())
157  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdFirst)->setRecordField(self::FIELD_ContentElement)
158  ->setTable(self::TABLE_Element)->setField('title')->setValues('Testing #1', 'Element #2'));
159  self::assertThat($responseSections, (new HasRecordConstraint())
160  ->setTable(self::TABLE_Content)->setField('header')->setValues('Testing #1'));
161  }
162 
163  #[Test]
164  public function ‪deleteContentOfRelation(): void
165  {
166  parent::deleteContentOfRelation();
167  $this->assertCSVDataSet(__DIR__ . '/DataSet/deleteContentOfRelation.csv');
168 
169  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId));
170  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
171  self::assertThat($responseSections, (new DoesNotHaveRecordConstraint())
172  ->setTable(self::TABLE_Content)->setField('header')->setValues('Testing #1'));
173  }
174 
175  #[Test]
176  public function ‪deleteElementOfRelation(): void
177  {
178  parent::deleteElementOfRelation();
179  $this->assertCSVDataSet(__DIR__ . '/DataSet/deleteElementOfRelation.csv');
180 
181  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId));
182  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
183  self::assertThat($responseSections, (new StructureDoesNotHaveRecordConstraint())
184  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdFirst)->setRecordField(self::FIELD_ContentElement)
185  ->setTable(self::TABLE_Element)->setField('title')->setValues('Element #1'));
186  }
187 
188  #[Test]
189  public function ‪copyContentOfRelation(): void
190  {
191  parent::copyContentOfRelation();
192  $this->assertCSVDataSet(__DIR__ . '/DataSet/copyContentOfRelation.csv');
193 
194  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId));
195  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
196  // Referenced elements are not copied with the "parent", which is expected and correct
197  self::assertThat($responseSections, (new StructureHasRecordConstraint())
198  ->setRecordIdentifier(self::TABLE_Content . ':' . $this->recordIds['copiedContentId'])->setRecordField(self::FIELD_ContentElement)
199  ->setTable(self::TABLE_Element)->setField('title')->setValues('Element #2', 'Element #3'));
200  }
201 
202  #[Test]
203  public function ‪copyElementOfRelation(): void
204  {
205  parent::copyElementOfRelation();
206  $this->assertCSVDataSet(__DIR__ . '/DataSet/copyElementOfRelation.csv');
207 
208  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId));
209  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
210  self::assertThat($responseSections, (new StructureHasRecordConstraint())
211  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdFirst)->setRecordField(self::FIELD_ContentElement)
212  ->setTable(self::TABLE_Element)->setField('title')->setValues('Element #1'));
213  // Referenced elements are not updated at the "parent", which is expected and correct
214  self::assertThat($responseSections, (new StructureDoesNotHaveRecordConstraint())
215  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdFirst)->setRecordField(self::FIELD_ContentElement)
216  ->setTable(self::TABLE_Element)->setField('title')->setValues('Element #1 (copy 1)'));
217  }
218 
219  #[Test]
220  public function ‪copyContentToLanguageOfRelation(): void
221  {
222  // Create translated page first
223  $this->actionService->copyRecordToLanguage('pages', self::VALUE_PageId, self::VALUE_LanguageId);
224  parent::copyContentToLanguageOfRelation();
225  $this->assertCSVDataSet(__DIR__ . '/DataSet/copyContentToLanguageOfRelation.csv');
226 
227  // Set up "danish" to not have overlays - "free" mode
229  'test',
230  $this->‪buildSiteConfiguration(1, '/'),
231  [
232  $this->‪buildDefaultLanguageConfiguration('EN', '/'),
233  $this->‪buildLanguageConfiguration('DA', '/da/', [], 'free'),
234  $this->‪buildLanguageConfiguration('DE', '/de/', ['DA', 'EN']),
235  ]
236  );
237 
238  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId)->withLanguageId(self::VALUE_LanguageId));
239  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
240  self::assertThat($responseSections, (new StructureHasRecordConstraint())
241  ->setRecordIdentifier(self::TABLE_Content . ':' . $this->recordIds['localizedContentId'])->setRecordField(self::FIELD_ContentElement)
242  ->setTable(self::TABLE_Element)->setField('title')->setValues('Element #2', 'Element #3'));
243  self::assertThat($responseSections, (new HasRecordConstraint())
244  ->setTable(self::TABLE_Content)->setField('header')->setValues('[Translate to Dansk:] Regular Element #2'));
245  }
246 
247  #[Test]
248  public function ‪copyElementToLanguageOfRelation(): void
249  {
250  parent::copyElementToLanguageOfRelation();
251  $this->assertCSVDataSet(__DIR__ . '/DataSet/copyElementToLanguageOfRelation.csv');
252 
253  //in this case the translated element is orphaned (no CE with relation to it, and it has no l10n_parent)
254  //so on frontend there is no change.
255  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId)->withLanguageId(self::VALUE_LanguageId));
256  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
257  self::assertThat($responseSections, (new StructureHasRecordConstraint())
258  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdFirst)->setRecordField(self::FIELD_ContentElement)
259  ->setTable(self::TABLE_Element)->setField('title')->setValues('Element #1', 'Element #2'));
260  }
261 
262  #[Test]
263  public function ‪localizeContentOfRelation(): void
264  {
265  parent::localizeContentOfRelation();
266  $this->assertCSVDataSet(__DIR__ . '/DataSet/localizeContentOfRelation.csv');
267 
268  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId)->withLanguageId(self::VALUE_LanguageId));
269  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
270  self::assertThat($responseSections, (new StructureHasRecordConstraint())
271  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField(self::FIELD_ContentElement)
272  ->setTable(self::TABLE_Element)->setField('title')->setValues('Element #2', 'Element #3'));
273  }
274 
275  #[Test]
277  {
278  parent::localizeContentOfRelationWithLanguageSynchronization();
279  $this->assertCSVDataSet(__DIR__ . '/DataSet/localizeContentOfRelationWSynchronization.csv');
280 
281  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId)->withLanguageId(self::VALUE_LanguageId));
282  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
283  self::assertThat($responseSections, (new StructureHasRecordConstraint())
284  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField(self::FIELD_ContentElement)
285  ->setTable(self::TABLE_Element)->setField('title')->setValues('Element #2', 'Element #3'));
286  }
287 
288  #[Test]
290  {
291  parent::localizeContentOfRelationWithLocalizeReferencesAtParentLocalization();
292  $this->assertCSVDataSet(__DIR__ . '/DataSet/localizeContentOfRelationWLocalizeReferencesAtParentLocalization.csv');
293  }
294 
295  #[Test]
297  {
298  parent::localizeContentChainOfRelationWithLanguageSynchronizationSource();
299  $this->assertCSVDataSet(__DIR__ . '/DataSet/localizeContentChainOfRelationWSynchronizationSource.csv');
300 
301  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId)->withLanguageId(self::VALUE_LanguageId));
302  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
303  self::assertThat($responseSections, (new StructureHasRecordConstraint())
304  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField(self::FIELD_ContentElement)
305  ->setTable(self::TABLE_Element)->setField('title')->setValues('Element #2', 'Element #3'));
306  }
307 
308  #[Test]
309  public function ‪localizeElementOfRelation(): void
310  {
311  // Create translated page first
312  $this->actionService->copyRecordToLanguage('pages', self::VALUE_PageId, self::VALUE_LanguageId);
313  parent::localizeElementOfRelation();
314  $this->assertCSVDataSet(__DIR__ . '/DataSet/localizeElementOfRelation.csv');
315 
316  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId)->withLanguageId(self::VALUE_LanguageId));
317  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
318  self::assertThat($responseSections, (new StructureHasRecordConstraint())
319  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdFirst)->setRecordField(self::FIELD_ContentElement)
320  ->setTable(self::TABLE_Element)->setField('title')->setValues('[Translate to Dansk:] Element #1', 'Element #2'));
321  }
322 
323  #[Test]
325  {
326  parent::moveContentOfRelationToDifferentPage();
327  $this->assertCSVDataSet(__DIR__ . '/DataSet/moveContentOfRelationToDifferentPage.csv');
328 
329  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageIdTarget));
330  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
331  self::assertThat($responseSections, (new StructureHasRecordConstraint())
332  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField(self::FIELD_ContentElement)
333  ->setTable(self::TABLE_Element)->setField('title')->setValues('Element #2', 'Element #3'));
334  }
335 }
‪TYPO3\CMS\Core\Tests\Functional\SiteHandling\SiteBasedTestTrait\buildLanguageConfiguration
‪buildLanguageConfiguration(string $identifier, string $base, array $fallbackIdentifiers=[], string $fallbackType=null)
Definition: SiteBasedTestTrait.php:108
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Group\Modify\ActionTest\verifyCleanReferenceIndex
‪verifyCleanReferenceIndex()
Definition: ActionTest.php:32
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Group\AbstractActionTestCase
Definition: AbstractActionTestCase.php:24
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Group\Modify\ActionTest\createContentAndCreateElementRelation
‪createContentAndCreateElementRelation()
Definition: ActionTest.php:109
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Group\Modify\ActionTest\changeElementRelationSorting
‪changeElementRelationSorting()
Definition: ActionTest.php:81
‪TYPO3\CMS\Core\Tests\Functional\SiteHandling\SiteBasedTestTrait\writeSiteConfiguration
‪writeSiteConfiguration(string $identifier, array $site=[], array $languages=[], array $errorHandling=[])
Definition: SiteBasedTestTrait.php:50
‪TYPO3\CMS\Core\Tests\Functional\SiteHandling\SiteBasedTestTrait\buildSiteConfiguration
‪buildSiteConfiguration(int $rootPageId, string $base='')
Definition: SiteBasedTestTrait.php:88
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Group\Modify\ActionTest\copyContentOfRelation
‪copyContentOfRelation()
Definition: ActionTest.php:189
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Group\Modify\ActionTest\createContentAndAddElementRelation
‪createContentAndAddElementRelation()
Definition: ActionTest.php:94
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Group\Modify\ActionTest\modifyBothSidesOfRelation
‪modifyBothSidesOfRelation()
Definition: ActionTest.php:149
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Group\Modify\ActionTest\addElementRelation
‪addElementRelation()
Definition: ActionTest.php:39
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Group\Modify\ActionTest\changeElementSorting
‪changeElementSorting()
Definition: ActionTest.php:68
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Group\Modify\ActionTest\localizeContentOfRelation
‪localizeContentOfRelation()
Definition: ActionTest.php:263
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Group\Modify\ActionTest\moveContentOfRelationToDifferentPage
‪moveContentOfRelationToDifferentPage()
Definition: ActionTest.php:324
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Group\Modify\ActionTest\deleteElementOfRelation
‪deleteElementOfRelation()
Definition: ActionTest.php:176
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Group\Modify\ActionTest\modifyElementOfRelation
‪modifyElementOfRelation()
Definition: ActionTest.php:124
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Group\Modify\ActionTest\localizeContentChainOfRelationWithLanguageSynchronizationSource
‪localizeContentChainOfRelationWithLanguageSynchronizationSource()
Definition: ActionTest.php:296
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Group\Modify\ActionTest
Definition: ActionTest.php:30
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Group\Modify\ActionTest\deleteContentOfRelation
‪deleteContentOfRelation()
Definition: ActionTest.php:164
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Group\Modify\ActionTest\copyContentToLanguageOfRelation
‪copyContentToLanguageOfRelation()
Definition: ActionTest.php:220
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Group\Modify\ActionTest\copyElementOfRelation
‪copyElementOfRelation()
Definition: ActionTest.php:203
‪TYPO3\CMS\Core\Tests\Functional\SiteHandling\SiteBasedTestTrait\buildDefaultLanguageConfiguration
‪buildDefaultLanguageConfiguration(string $identifier, string $base)
Definition: SiteBasedTestTrait.php:98
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Group\Modify
Definition: ActionTest.php:18
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Group\Modify\ActionTest\copyElementToLanguageOfRelation
‪copyElementToLanguageOfRelation()
Definition: ActionTest.php:248
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Group\Modify\ActionTest\localizeContentOfRelationWithLocalizeReferencesAtParentLocalization
‪localizeContentOfRelationWithLocalizeReferencesAtParentLocalization()
Definition: ActionTest.php:289
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Group\Modify\ActionTest\deleteElementRelation
‪deleteElementRelation()
Definition: ActionTest.php:52
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Group\Modify\ActionTest\localizeElementOfRelation
‪localizeElementOfRelation()
Definition: ActionTest.php:309
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Group\Modify\ActionTest\modifyContentOfRelation
‪modifyContentOfRelation()
Definition: ActionTest.php:137
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Group\Modify\ActionTest\localizeContentOfRelationWithLanguageSynchronization
‪localizeContentOfRelationWithLanguageSynchronization()
Definition: ActionTest.php:276