‪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\StructureHasRecordConstraint;
25 use TYPO3\TestingFramework\Core\Functional\Framework\Frontend\InternalRequest;
26 use TYPO3\TestingFramework\Core\Functional\Framework\Frontend\InternalRequestContext;
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 ‪createContents(): void
40  {
41  parent::createContents();
42  $this->actionService->publishRecords(
43  [
44  self::TABLE_Content => [$this->recordIds['newContentIdFirst'], $this->recordIds['newContentIdLast']],
45  ]
46  );
47  $this->assertCSVDataSet(__DIR__ . '/DataSet/createContents.csv');
48 
49  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId));
50  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
51  self::assertThat($responseSections, (new HasRecordConstraint())
52  ->setTable(self::TABLE_Content)->setField('header')->setValues('Testing #1', 'Testing #2'));
53  }
54 
55  #[Test]
56  public function ‪createContentAndCopyContent(): void
57  {
58  parent::createContentAndCopyContent();
59  $this->actionService->publishRecord(self::TABLE_Content, $this->recordIds['newContentId']);
60  $this->actionService->publishRecord(self::TABLE_Content, $this->recordIds['copiedContentId']);
61  $this->assertCSVDataSet(__DIR__ . '/DataSet/createContentAndCopyContent.csv');
62 
63  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId));
64  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
65  self::assertThat($responseSections, (new HasRecordConstraint())
66  ->setTable(self::TABLE_Content)->setField('header')->setValues('Testing #1', 'Testing #1 (copy 1)'));
67  }
68 
69  #[Test]
70  public function ‪modifyContent(): void
71  {
72  parent::modifyContent();
73  $this->actionService->publishRecord(self::TABLE_Content, self::VALUE_ContentIdSecond);
74  $this->assertCSVDataSet(__DIR__ . '/DataSet/modifyContent.csv');
75 
76  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId));
77  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
78  self::assertThat($responseSections, (new HasRecordConstraint())
79  ->setTable(self::TABLE_Content)->setField('header')->setValues('Testing #1'));
80  }
81 
82  #[Test]
83  public function ‪hideContent(): void
84  {
85  parent::hideContent();
86  $this->actionService->publishRecord(self::TABLE_Content, self::VALUE_ContentIdSecond);
87  $this->assertCSVDataSet(__DIR__ . '/DataSet/hideContent.csv');
88 
89  $response = $this->executeFrontendSubRequest(
90  (new InternalRequest())->withPageId(self::VALUE_PageId),
91  (new InternalRequestContext())->withBackendUserId(self::VALUE_BackendUserId)
92  );
93  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
94  self::assertThat($responseSections, (new HasRecordConstraint())
95  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #2'));
96  }
97 
98  #[Test]
99  public function ‪hideContentAndMoveToDifferentPage(): void
100  {
101  parent::hideContent();
102  parent::moveContentToDifferentPage();
103  $this->actionService->publishRecord(self::TABLE_Content, self::VALUE_ContentIdSecond);
104  $this->assertCSVDataSet(__DIR__ . '/DataSet/hideContentAndMoveToDifferentPage.csv');
105 
106  $response = $this->executeFrontendSubRequest(
107  (new InternalRequest())->withPageId(self::VALUE_PageId),
108  (new InternalRequestContext())->withBackendUserId(self::VALUE_BackendUserId)
109  );
110  $responseSectionsSource = ResponseContent::fromString((string)$response->getBody())->getSections();
111  self::assertThat($responseSectionsSource, (new HasRecordConstraint())
112  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #1'));
113  self::assertThat($responseSectionsSource, (new DoesNotHaveRecordConstraint())
114  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #2'));
115  $response = $this->executeFrontendSubRequest(
116  (new InternalRequest())->withPageId(self::VALUE_PageIdTarget),
117  (new InternalRequestContext())->withBackendUserId(self::VALUE_BackendUserId)
118  );
119  $responseSectionsTarget = ResponseContent::fromString((string)$response->getBody())->getSections();
120  self::assertThat($responseSectionsTarget, (new HasRecordConstraint())
121  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #2'));
122  }
123 
124  #[Test]
125  public function ‪deleteContent(): void
126  {
127  parent::deleteContent();
128  $this->actionService->publishRecord(self::TABLE_Content, self::VALUE_ContentIdSecond);
129  $this->assertCSVDataSet(__DIR__ . '/DataSet/deleteContent.csv');
130 
131  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId));
132  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
133  self::assertThat($responseSections, (new HasRecordConstraint())
134  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #1'));
135  self::assertThat($responseSections, (new DoesNotHaveRecordConstraint())
136  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #2'));
137  }
138 
139  #[Test]
141  {
142  // this test will not rely on a translated page, because it only tests the act of publishing.
143  // The actual content of frontend response does not matter much, and it would increase the scope
144  // of the test, when a translated page is also published here.
145  parent::deleteLocalizedContentAndDeleteContent();
146  $this->actionService->publishRecords(
147  [
148  self::TABLE_Content => [self::VALUE_ContentIdThird, self::VALUE_ContentIdThirdLocalized],
149  ]
150  );
151  $this->assertCSVDataSet(__DIR__ . '/DataSet/deleteLocalizedContentNDeleteContent.csv');
152 
153  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId)->withLanguageId(self::VALUE_LanguageId));
154  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
155  self::assertThat($responseSections, (new DoesNotHaveRecordConstraint())
156  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #3', '[Translate to Dansk:] Regular Element #3'));
157  }
158 
159  #[Test]
160  public function ‪copyContent(): void
161  {
162  parent::copyContent();
163  $this->actionService->publishRecord(self::TABLE_Content, $this->recordIds['copiedContentId']);
164  $this->assertCSVDataSet(__DIR__ . '/DataSet/copyContent.csv');
165 
166  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId));
167  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
168  self::assertThat($responseSections, (new HasRecordConstraint())
169  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #2 (copy 1)'));
170  }
171 
172  #[Test]
173  public function ‪copyContentToLanguage(): void
174  {
175  // Create and publish translated page first
176  $translatedPageResult = $this->actionService->copyRecordToLanguage(self::TABLE_Page, self::VALUE_PageId, self::VALUE_LanguageId);
177  $this->actionService->publishRecord(self::TABLE_Page, $translatedPageResult[self::TABLE_Page][self::VALUE_PageId]);
178  parent::copyContentToLanguage();
179  $this->actionService->publishRecord(self::TABLE_Content, $this->recordIds['localizedContentId']);
180  $this->assertCSVDataSet(__DIR__ . '/DataSet/copyContentToLanguage.csv');
181 
182  // Set up "danish" to not have overlays - "free" mode
184  'test',
185  $this->‪buildSiteConfiguration(1, '/'),
186  [
187  $this->‪buildDefaultLanguageConfiguration('EN', '/'),
188  $this->‪buildLanguageConfiguration('DA', '/da/', [], 'free'),
189  $this->‪buildLanguageConfiguration('DE', '/de/', ['DA', 'EN']),
190  ]
191  );
192 
193  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId)->withLanguageId(self::VALUE_LanguageId));
194  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
195  self::assertThat($responseSections, (new HasRecordConstraint())
196  ->setTable(self::TABLE_Content)->setField('header')->setValues('[Translate to Dansk:] Regular Element #3', '[Translate to Dansk:] Regular Element #2'));
197  }
198 
199  #[Test]
201  {
202  // Create and publish translated page first
203  $translatedPageResult = $this->actionService->copyRecordToLanguage(self::TABLE_Page, self::VALUE_PageId, self::VALUE_LanguageIdSecond);
204  $this->actionService->publishRecord(self::TABLE_Page, $translatedPageResult[self::TABLE_Page][self::VALUE_PageId]);
205  parent::copyContentToLanguageFromNonDefaultLanguage();
206  $this->actionService->publishRecord(self::TABLE_Content, $this->recordIds['localizedContentId']);
207  $this->assertCSVDataSet(__DIR__ . '/DataSet/copyContentToLanguageFromNonDefaultLanguage.csv');
208 
209  // Set up "german" to not have overlays - "free" mode
211  'test',
212  $this->‪buildSiteConfiguration(1, '/'),
213  [
214  $this->‪buildDefaultLanguageConfiguration('EN', '/'),
215  $this->‪buildLanguageConfiguration('DA', '/da/', ['EN']),
216  $this->‪buildLanguageConfiguration('DE', '/de/', [], 'free'),
217  ]
218  );
219 
220  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId)->withLanguageId(self::VALUE_LanguageIdSecond));
221  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
222  self::assertThat($responseSections, (new HasRecordConstraint())
223  ->setTable(self::TABLE_Content)->setField('header')->setValues('[Translate to Deutsch:] [Translate to Dansk:] Regular Element #3'));
224  }
225 
226  #[Test]
227  public function ‪localizeContent(): void
228  {
229  // Create and publish translated page first
230  $translatedPageResult = $this->actionService->copyRecordToLanguage(self::TABLE_Page, self::VALUE_PageId, self::VALUE_LanguageId);
231  $this->actionService->publishRecord(self::TABLE_Page, $translatedPageResult[self::TABLE_Page][self::VALUE_PageId]);
232  parent::localizeContent();
233  $this->actionService->publishRecord(self::TABLE_Content, $this->recordIds['localizedContentId']);
234  $this->assertCSVDataSet(__DIR__ . '/DataSet/localizeContent.csv');
235 
236  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId)->withLanguageId(self::VALUE_LanguageId));
237  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
238  self::assertThat($responseSections, (new HasRecordConstraint())
239  ->setTable(self::TABLE_Content)->setField('header')->setValues('[Translate to Dansk:] Regular Element #1', '[Translate to Dansk:] Regular Element #2'));
240  }
241 
242  #[Test]
243  public function ‪localizeContentAfterMovedContent(): void
244  {
245  parent::localizeContentAfterMovedContent();
246  $this->actionService->publishRecord(self::TABLE_Content, $this->recordIds['localizedContentId']);
247  $this->assertCSVDataSet(__DIR__ . '/DataSet/localizeContentAfterMovedContent.csv');
248  }
249 
250  #[Test]
252  {
253  parent::localizeContentAfterMovedInLiveContent();
254  $this->actionService->publishRecord(self::TABLE_Content, $this->recordIds['localizedContentId']);
255  $this->assertCSVDataSet(__DIR__ . '/DataSet/localizeContentAfterMovedInLiveContent.csv');
256  }
257 
258  #[Test]
260  {
261  // Create and publish translated page first
262  $translatedPageResult = $this->actionService->copyRecordToLanguage(self::TABLE_Page, self::VALUE_PageId, self::VALUE_LanguageIdSecond);
263  $this->actionService->publishRecord(self::TABLE_Page, $translatedPageResult[self::TABLE_Page][self::VALUE_PageId]);
264  parent::localizeContentFromNonDefaultLanguage();
265  $this->actionService->publishRecord(self::TABLE_Content, $this->recordIds['localizedContentId']);
266  $this->assertCSVDataSet(__DIR__ . '/DataSet/localizeContentFromNonDefaultLanguage.csv');
267 
268  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId)->withLanguageId(self::VALUE_LanguageIdSecond));
269  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
270  self::assertThat($responseSections, (new HasRecordConstraint())
271  ->setTable(self::TABLE_Content)->setField('header')->setValues('[Translate to Deutsch:] [Translate to Dansk:] Regular Element #1', '[Translate to Deutsch:] [Translate to Dansk:] Regular Element #3'));
272  }
273 
274  #[Test]
275  public function ‪changeContentSorting(): void
276  {
277  parent::changeContentSorting();
278  $this->actionService->publishRecord(self::TABLE_Content, self::VALUE_ContentIdFirst);
279  $this->assertCSVDataSet(__DIR__ . '/DataSet/changeContentSorting.csv');
280 
281  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId));
282  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
283  self::assertThat($responseSections, (new HasRecordConstraint())
284  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #1', 'Regular Element #2'));
285  }
286 
287  #[Test]
288  public function ‪changeContentSortingAfterSelf(): void
289  {
290  parent::changeContentSortingAfterSelf();
291  $this->actionService->publishRecord(self::TABLE_Content, self::VALUE_ContentIdFirst);
292  $this->assertCSVDataSet(__DIR__ . '/DataSet/changeContentSortingAfterSelf.csv');
293 
294  $response = $this->executeFrontendSubRequest(
295  (new InternalRequest())->withPageId(self::VALUE_PageId),
296  (new InternalRequestContext())->withBackendUserId(self::VALUE_BackendUserId)->withWorkspaceId(self::VALUE_WorkspaceId)
297  );
298  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
299  self::assertThat($responseSections, (new HasRecordConstraint())
300  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #1', 'Regular Element #2'));
301  }
302 
303  #[Test]
304  public function ‪moveContentToDifferentPage(): void
305  {
306  parent::moveContentToDifferentPage();
307  $this->actionService->publishRecord(self::TABLE_Content, self::VALUE_ContentIdSecond);
308  $this->assertCSVDataSet(__DIR__ . '/DataSet/moveContentToDifferentPage.csv');
309 
310  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId));
311  $responseSectionsSource = ResponseContent::fromString((string)$response->getBody())->getSections();
312  self::assertThat($responseSectionsSource, (new HasRecordConstraint())
313  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #1'));
314  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageIdTarget));
315  $responseSectionsTarget = ResponseContent::fromString((string)$response->getBody())->getSections();
316  self::assertThat($responseSectionsTarget, (new HasRecordConstraint())
317  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #2'));
318  }
319 
320  #[Test]
322  {
323  parent::moveContentToDifferentPageAndChangeSorting();
324  $this->actionService->publishRecords([
325  self::TABLE_Content => [self::VALUE_ContentIdFirst, self::VALUE_ContentIdSecond],
326  ]);
327  $this->assertCSVDataSet(__DIR__ . '/DataSet/moveContentToDifferentPageNChangeSorting.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 HasRecordConstraint())
332  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #1', 'Regular Element #2'));
333  }
334 
335  #[Test]
336  public function ‪moveContentToDifferentPageAndHide(): void
337  {
338  parent::moveContentToDifferentPageAndHide();
339  $this->actionService->publishRecord(self::TABLE_Content, self::VALUE_ContentIdSecond);
340  $this->assertCSVDataSet(__DIR__ . '/DataSet/moveContentToDifferentPageAndHide.csv');
341 
342  $response = $this->executeFrontendSubRequest(
343  (new InternalRequest())->withPageId(self::VALUE_PageIdTarget),
344  (new InternalRequestContext())->withBackendUserId(self::VALUE_BackendUserId)->withWorkspaceId(self::VALUE_WorkspaceId)
345  );
346  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
347  self::assertThat($responseSections, (new DoesNotHaveRecordConstraint())
348  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #2'));
349  }
350 
351  #[Test]
353  {
354  parent::moveLocalizedContentToDifferentPage();
355  // Also publish the newly created page translation
356  $this->actionService->publishRecord(self::TABLE_Page, 91);
357  $this->actionService->publishRecord(self::TABLE_Content, self::VALUE_ContentIdThird);
358  $this->assertCSVDataSet(__DIR__ . '/DataSet/moveLocalizedContentToDifferentPage.csv');
359 
360  // Check if the regular LIVE page does NOT contain the moved record anymore
361  $response = $this->executeFrontendSubRequest(
362  (new InternalRequest())->withPageId(self::VALUE_PageId),
363  (new InternalRequestContext())->withBackendUserId(self::VALUE_BackendUserId)->withWorkspaceId(0)
364  );
365  $responseSectionsSource = ResponseContent::fromString((string)$response->getBody())->getSections();
366  self::assertThat($responseSectionsSource, (new DoesNotHaveRecordConstraint())
367  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #3'));
368 
369  $response = $this->executeFrontendSubRequest(
370  (new InternalRequest())->withPageId(self::VALUE_PageId)->withLanguageId(self::VALUE_LanguageId),
371  (new InternalRequestContext())->withBackendUserId(self::VALUE_BackendUserId)->withWorkspaceId(0)
372  );
373  $responseSectionsSource = ResponseContent::fromString((string)$response->getBody())->getSections();
374  self::assertThat($responseSectionsSource, (new DoesNotHaveRecordConstraint())
375  ->setTable(self::TABLE_Content)->setField('header')->setValues('[Translate to Dansk:] Regular Element #3'));
376 
377  // Check if the target LIVE page DOES contain the moved record
378  $response = $this->executeFrontendSubRequest(
379  (new InternalRequest())->withPageId(self::VALUE_PageIdTarget),
380  (new InternalRequestContext())->withBackendUserId(self::VALUE_BackendUserId)->withWorkspaceId(0)
381  );
382  $responseSectionsTarget = ResponseContent::fromString((string)$response->getBody())->getSections();
383  self::assertThat($responseSectionsTarget, (new HasRecordConstraint())
384  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #3'));
385 
386  // Also test the translated page in the workspace contains the translated record
387  $response = $this->executeFrontendSubRequest(
388  (new InternalRequest())->withPageId(self::VALUE_PageIdTarget)->withLanguageId(self::VALUE_LanguageId),
389  (new InternalRequestContext())->withBackendUserId(self::VALUE_BackendUserId)->withWorkspaceId(self::VALUE_WorkspaceId)
390  );
391  $responseSectionsTarget = ResponseContent::fromString((string)$response->getBody())->getSections();
392  self::assertThat($responseSectionsTarget, (new HasRecordConstraint())
393  ->setTable(self::TABLE_Content)->setField('header')->setValues('[Translate to Dansk:] Regular Element #3'));
394 
395  // Also test the translated LIVE page, and make sure the translated record is NOT shown, as it has not been published yet
396  $response = $this->executeFrontendSubRequest(
397  (new InternalRequest())->withPageId(self::VALUE_PageIdTarget)->withLanguageId(self::VALUE_LanguageId),
398  (new InternalRequestContext())->withBackendUserId(self::VALUE_BackendUserId)->withWorkspaceId(0)
399  );
400  $responseSectionsTarget = ResponseContent::fromString((string)$response->getBody())->getSections();
401  self::assertThat($responseSectionsTarget, (new DoesNotHaveRecordConstraint())
402  ->setTable(self::TABLE_Content)->setField('header')->setValues('[Translate to Dansk:] Regular Element #3'));
403  }
404 
405  #[Test]
406  public function ‪createPage(): void
407  {
408  parent::createPage();
409  $this->actionService->publishRecord(self::TABLE_Page, $this->recordIds['newPageId']);
410  $this->assertCSVDataSet(__DIR__ . '/DataSet/createPage.csv');
411 
412  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId($this->recordIds['newPageId']));
413  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
414  self::assertThat($responseSections, (new HasRecordConstraint())
415  ->setTable(self::TABLE_Page)->setField('title')->setValues('Testing #1'));
416  }
417 
418  #[Test]
420  {
421  parent::createPageAndSubPageAndSubPageContent();
422  $this->actionService->publishRecord(self::TABLE_Page, $this->recordIds['newPageId']);
423  $this->assertCSVDataSet(__DIR__ . '/DataSet/createPageAndSubPageAndSubPageContent.csv');
424 
425  // Sub page is not published together with parent page
426  $response = $this->executeFrontendSubRequest(
427  (new InternalRequest())->withPageId($this->recordIds['newSubPageId']),
428  (new InternalRequestContext())->withBackendUserId(self::VALUE_BackendUserId)->withWorkspaceId(self::VALUE_WorkspaceId)
429  );
430  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
431  self::assertThat($responseSections, (new HasRecordConstraint())
432  ->setTable(self::TABLE_Page)->setField('title')->setValues('Testing #1 #1'));
433  }
434 
435  #[Test]
436  public function ‪modifyPage(): void
437  {
438  parent::modifyPage();
439  $this->actionService->publishRecord(self::TABLE_Page, self::VALUE_PageId);
440  $this->assertCSVDataSet(__DIR__ . '/DataSet/modifyPage.csv');
441 
442  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId));
443  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
444  self::assertThat($responseSections, (new HasRecordConstraint())
445  ->setTable(self::TABLE_Page)->setField('title')->setValues('Testing #1'));
446  }
447 
448  #[Test]
449  public function ‪deletePage(): void
450  {
451  parent::deletePage();
452  $this->actionService->publishRecord(self::TABLE_Page, self::VALUE_PageId);
453  $this->assertCSVDataSet(__DIR__ . '/DataSet/deletePage.csv');
454 
455  $response = $this->executeFrontendSubRequest(
456  (new InternalRequest())->withPageId(self::VALUE_PageId)
457  );
458  self::assertEquals(404, $response->getStatusCode());
459  }
460 
461  #[Test]
462  public function ‪deleteContentAndPage(): void
463  {
464  parent::deleteContentAndPage();
465  $this->actionService->publishRecord(self::TABLE_Page, self::VALUE_PageId);
466  $this->assertCSVDataSet(__DIR__ . '/DataSet/deleteContentAndPage.csv');
467 
468  $response = $this->executeFrontendSubRequest(
469  (new InternalRequest())->withPageId(self::VALUE_PageId)
470  );
471  self::assertEquals(404, $response->getStatusCode());
472  }
473 
474  #[Test]
475  public function ‪localizeNestedPagesAndContents(): void
476  {
477  parent::localizeNestedPagesAndContents();
478  // Will publish only the page translation, not it's content elements
479  $this->actionService->publishRecord(self::TABLE_Page, $this->recordIds['localizedParentPageId']);
480  $this->assertCSVDataSet(__DIR__ . '/DataSet/localizeNestedPagesAndContents.csv');
481  }
482 
483  #[Test]
484  public function ‪copyPage(): void
485  {
486  parent::copyPage();
487  $this->actionService->publishRecords(
488  [
489  self::TABLE_Page => [$this->recordIds['newPageId']],
490  self::TABLE_Content => [$this->recordIds['newContentIdFirst'], $this->recordIds['newContentIdLast']],
491  ]
492  );
493  $this->assertCSVDataSet(__DIR__ . '/DataSet/copyPage.csv');
494 
495  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId($this->recordIds['newPageId']));
496  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
497  self::assertThat($responseSections, (new HasRecordConstraint())
498  ->setTable(self::TABLE_Page)->setField('title')->setValues('Relations'));
499  }
500 
501  #[Test]
502  public function ‪copyPageFreeMode(): void
503  {
504  parent::copyPageFreeMode();
505  $this->actionService->publishRecords(
506  [
507  self::TABLE_Page => [$this->recordIds['newPageId']],
508  self::TABLE_Content => [$this->recordIds['newContentIdTenth'], $this->recordIds['newContentIdTenthLocalized'], $this->recordIds['newContentIdTenthLocalized2']],
509  ]
510  );
511  $this->assertCSVDataSet(__DIR__ . '/DataSet/copyPageFreeMode.csv');
512 
513  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId($this->recordIds['newPageId']));
514  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
515  self::assertThat($responseSections, (new HasRecordConstraint())
516  ->setTable(self::TABLE_Page)->setField('title')->setValues('Target'));
517  self::assertThat($responseSections, (new HasRecordConstraint())
518  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #10'));
519  }
520 
521  #[Test]
522  public function ‪localizePage(): void
523  {
524  parent::localizePage();
525  $this->actionService->publishRecord(self::TABLE_Page, $this->recordIds['localizedPageId']);
526  $this->assertCSVDataSet(__DIR__ . '/DataSet/localizePage.csv');
527 
528  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId)->withLanguageId(self::VALUE_LanguageId));
529  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
530  self::assertThat($responseSections, (new HasRecordConstraint())
531  ->setTable(self::TABLE_Page)->setField('title')->setValues('[Translate to Dansk:] Relations'));
532  }
533 
534  #[Test]
535  public function ‪localizePageHiddenHideAtCopyFalse(): void
536  {
537  parent::localizePageHiddenHideAtCopyFalse();
538  $this->actionService->publishRecord(self::TABLE_Page, $this->recordIds['localizedPageId']);
539  $this->assertCSVDataSet(__DIR__ . '/DataSet/localizePageHiddenHideAtCopyFalse.csv');
540  }
541 
542  #[Test]
544  {
545  parent::localizePageNotHiddenHideAtCopyFalse();
546  $this->actionService->publishRecord(self::TABLE_Page, $this->recordIds['localizedPageId']);
547  $this->assertCSVDataSet(__DIR__ . '/DataSet/localizePageNotHiddenHideAtCopyFalse.csv');
548  }
549 
550  #[Test]
552  {
553  parent::localizePageNotHiddenHideAtCopyDisableHideAtCopyUnset();
554  $this->actionService->publishRecord(self::TABLE_Page, $this->recordIds['localizedPageId']);
555  $this->assertCSVDataSet(__DIR__ . '/DataSet/localizePageNotHiddenHideAtCopyDisableHideAtCopyUnset.csv');
556  }
557 
558  #[Test]
560  {
561  parent::localizePageHiddenHideAtCopyDisableHideAtCopyUnset();
562  $this->actionService->publishRecord(self::TABLE_Page, $this->recordIds['localizedPageId']);
563  $this->assertCSVDataSet(__DIR__ . '/DataSet/localizePageHiddenHideAtCopyDisableHideAtCopyUnset.csv');
564  }
565 
566  #[Test]
568  {
569  parent::localizePageNotHiddenHideAtCopyDisableHideAtCopySetToFalse();
570  $this->actionService->publishRecord(self::TABLE_Page, $this->recordIds['localizedPageId']);
571  $this->assertCSVDataSet(__DIR__ . '/DataSet/localizePageNotHiddenHideAtCopyDisableHideAtCopySetToFalse.csv');
572  }
573 
574  #[Test]
576  {
577  parent::localizePageHiddenHideAtCopyDisableHideAtCopySetToFalse();
578  $this->actionService->publishRecord(self::TABLE_Page, $this->recordIds['localizedPageId']);
579  $this->assertCSVDataSet(__DIR__ . '/DataSet/localizePageHiddenHideAtCopyDisableHideAtCopySetToFalse.csv');
580  }
581 
582  #[Test]
584  {
585  parent::localizePageNotHiddenHideAtCopyDisableHideAtCopySetToTrue();
586  $this->actionService->publishRecord(self::TABLE_Page, $this->recordIds['localizedPageId']);
587  $this->assertCSVDataSet(__DIR__ . '/DataSet/localizePageNotHiddenHideAtCopyDisableHideAtCopySetToTrue.csv');
588  }
589 
590  #[Test]
592  {
593  parent::localizePageHiddenHideAtCopyDisableHideAtCopySetToTrue();
594  $this->actionService->publishRecord(self::TABLE_Page, $this->recordIds['localizedPageId']);
595  $this->assertCSVDataSet(__DIR__ . '/DataSet/localizePageHiddenHideAtCopyDisableHideAtCopySetToTrue.csv');
596  }
597 
598  #[Test]
599  public function ‪createPageAndChangePageSorting(): void
600  {
601  parent::createPageAndChangePageSorting();
602  $this->actionService->publishRecord(self::TABLE_Page, $this->recordIds['newPageId']);
603  $this->assertCSVDataSet(__DIR__ . '/DataSet/createPageAndChangePageSorting.csv');
604  }
605 
606  #[Test]
607  public function ‪createPageAndMoveCreatedPage(): void
608  {
609  parent::createPageAndMoveCreatedPage();
610  $this->actionService->publishRecord(self::TABLE_Page, $this->recordIds['newPageId']);
611  $this->assertCSVDataSet(__DIR__ . '/DataSet/createPageAndMoveCreatedPage.csv');
612  }
613 
614  #[Test]
615  public function ‪changePageSorting(): void
616  {
617  parent::changePageSorting();
618  $this->actionService->publishRecord(self::TABLE_Page, self::VALUE_PageId);
619  $this->assertCSVDataSet(__DIR__ . '/DataSet/changePageSorting.csv');
620 
621  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId));
622  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
623  self::assertThat($responseSections, (new HasRecordConstraint())
624  ->setTable(self::TABLE_Page)->setField('title')->setValues('Relations'));
625  self::assertThat($responseSections, (new HasRecordConstraint())
626  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #1', 'Regular Element #2'));
627  }
628 
629  #[Test]
630  public function ‪changePageSortingAfterSelf(): void
631  {
632  parent::changePageSortingAfterSelf();
633  $this->actionService->publishRecord(self::TABLE_Page, self::VALUE_PageId);
634  $this->assertCSVDataSet(__DIR__ . '/DataSet/changePageSortingAfterSelf.csv');
635 
636  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId));
637  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
638  self::assertThat($responseSections, (new HasRecordConstraint())
639  ->setTable(self::TABLE_Page)->setField('title')->setValues('Relations'));
640  self::assertThat($responseSections, (new HasRecordConstraint())
641  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #1', 'Regular Element #2'));
642  }
643 
644  #[Test]
645  public function ‪movePageToDifferentPage(): void
646  {
647  parent::movePageToDifferentPage();
648  $this->actionService->publishRecord(self::TABLE_Page, self::VALUE_PageId);
649  $this->assertCSVDataSet(__DIR__ . '/DataSet/movePageToDifferentPage.csv');
650 
651  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId));
652  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
653  self::assertThat($responseSections, (new HasRecordConstraint())
654  ->setTable(self::TABLE_Page)->setField('title')->setValues('Relations'));
655  self::assertThat($responseSections, (new HasRecordConstraint())
656  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #1', 'Regular Element #2'));
657  }
658 
659  #[Test]
660  public function ‪movePageToDifferentPageTwice(): void
661  {
662  parent::movePageToDifferentPageTwice();
663  $this->actionService->publishRecord(self::TABLE_Page, self::VALUE_PageId);
664  $this->assertCSVDataSet(__DIR__ . '/DataSet/movePageToDifferentPageTwice.csv');
665  }
666 
667  #[Test]
669  {
670  parent::movePageLocalizedToDifferentPageTwice();
671  $this->actionService->publishRecord(self::TABLE_Page, self::VALUE_PageId);
672  $this->assertCSVDataSet(__DIR__ . '/DataSet/movePageLocalizedToDifferentPageTwice.csv');
673  }
674 
675  #[Test]
677  {
678  parent::movePageLocalizedInLiveToDifferentPageTwice();
679  $this->actionService->publishRecord(self::TABLE_Page, self::VALUE_PageId);
680  $this->assertCSVDataSet(__DIR__ . '/DataSet/movePageLocalizedInLiveToDifferentPageTwice.csv');
681  }
682 
683  #[Test]
685  {
686  parent::movePageLocalizedInLiveWorkspaceChangedToDifferentPageTwice();
687  $this->actionService->publishRecord(self::TABLE_Page, self::VALUE_PageId);
688  $this->assertCSVDataSet(__DIR__ . '/DataSet/movePageLocalizedInLiveWorkspaceChangedToDifferentPageTwice.csv');
689  }
690 
691  #[Test]
693  {
694  parent::movePageLocalizedInLiveWorkspaceDeletedToDifferentPageTwice();
695  $this->actionService->publishRecord(self::TABLE_Page, self::VALUE_PageId);
696  $this->assertCSVDataSet(__DIR__ . '/DataSet/movePageLocalizedInLiveWorkspaceDeletedToDifferentPageTwice.csv');
697  }
698 
699  #[Test]
701  {
702  parent::movePageToDifferentPageAndChangeSorting();
703  $this->actionService->publishRecords([
704  self::TABLE_Page => [self::VALUE_PageId, self::VALUE_PageIdTarget],
705  ]);
706  $this->assertCSVDataSet(__DIR__ . '/DataSet/movePageToDifferentPageNChangeSorting.csv');
707 
708  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId));
709  $responseSectionsPage = ResponseContent::fromString((string)$response->getBody())->getSections();
710  self::assertThat($responseSectionsPage, (new HasRecordConstraint())
711  ->setTable(self::TABLE_Page)->setField('title')->setValues('Relations'));
712  self::assertThat($responseSectionsPage, (new HasRecordConstraint())
713  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #1', 'Regular Element #2'));
714  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageIdWebsite));
715  $responseSectionsWebsite = ResponseContent::fromString((string)$response->getBody())->getSections();
716  self::assertThat($responseSectionsWebsite, (new StructureHasRecordConstraint())
717  ->setRecordIdentifier(self::TABLE_Page . ':' . self::VALUE_PageIdWebsite)->setRecordField('__pages')
718  ->setTable(self::TABLE_Page)->setField('title')->setValues('Target', 'Relations', 'DataHandlerTest'));
719  }
720 
725  #[Test]
727  {
728  parent::movePageToDifferentPageAndCreatePageAfterMovedPage();
729  $this->actionService->publishRecords([
730  self::TABLE_Page => [self::VALUE_PageIdTarget, $this->recordIds['newPageId']],
731  ]);
732  $this->assertCSVDataSet(__DIR__ . '/DataSet/movePageToDifferentPageNCreatePageAfterMovedPage.csv');
733 
734  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageIdWebsite));
735  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
736  self::assertThat($responseSections, (new StructureHasRecordConstraint())
737  ->setRecordIdentifier(self::TABLE_Page . ':' . self::VALUE_PageIdWebsite)->setRecordField('__pages')
738  ->setTable(self::TABLE_Page)->setField('title')->setValues('Target', 'Testing #1', 'DataHandlerTest'));
739  }
740 
741  #[Test]
743  {
744  parent::changeContentSortingAndCopyDraftPage();
745  $this->actionService->publishRecord(self::TABLE_Content, self::VALUE_ContentIdFirst);
746  $this->assertCSVDataSet(__DIR__ . '/DataSet/changeContentSortingAndCopyDraftPage.csv');
747  }
748 
749  #[Test]
750  public function ‪createContentAndCopyDraftPage(): void
751  {
752  parent::createContentAndCopyDraftPage();
753  $this->actionService->publishRecords([
754  self::TABLE_Content => [$this->recordIds['newContentId']],
755  self::TABLE_Page => [$this->recordIds['copiedPageId']],
756  ]);
757  $this->assertCSVDataSet(__DIR__ . '/DataSet/createContentAndCopyDraftPage.csv');
758 
759  $response = $this->executeFrontendSubRequest(
760  (new InternalRequest())->withPageId($this->recordIds['copiedPageId']),
761  (new InternalRequestContext())->withBackendUserId(self::VALUE_BackendUserId)->withWorkspaceId(self::VALUE_WorkspaceId)
762  );
763  $responseSectionsDraft = ResponseContent::fromString((string)$response->getBody())->getSections();
764  self::assertThat($responseSectionsDraft, (new HasRecordConstraint())
765  ->setTable(static::TABLE_Content)->setField('header')->setValues('Testing #1'));
766  }
767 
768  #[Test]
769  public function ‪createContentAndLocalize(): void
770  {
771  parent::createContentAndLocalize();
772  $this->actionService->publishRecords([
773  self::TABLE_Content => [$this->recordIds['newContentId']],
774  ]);
775  $this->assertCSVDataSet(__DIR__ . '/DataSet/createContentAndLocalize.csv');
776 
777  $response = $this->executeFrontendSubRequest(
778  (new InternalRequest())->withPageId(self::VALUE_PageId)->withLanguageId(self::VALUE_LanguageId),
779  (new InternalRequestContext())->withBackendUserId(self::VALUE_BackendUserId)->withWorkspaceId(self::VALUE_WorkspaceId)
780  );
781  $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
782  self::assertThat($responseSections, (new HasRecordConstraint())
783  ->setTable(self::TABLE_Content)->setField('header')->setValues('[Translate to Dansk:] Testing #1'));
784  }
785 
786  #[Test]
787  public function ‪createPageAndCopyDraftParentPage(): void
788  {
789  parent::createPageAndCopyDraftParentPage();
790  $this->actionService->publishRecords([
791  self::TABLE_Page => [$this->recordIds['newPageId'], $this->recordIds['copiedPageId']],
792  ]);
793  $this->assertCSVDataSet(__DIR__ . '/DataSet/createPageAndCopyDraftParentPage.csv');
794  }
795 
796  #[Test]
798  {
799  parent::createPlaceholdersAndDeleteDraftParentPage();
800  $this->actionService->publishRecord(self::TABLE_Page, self::VALUE_ParentPageId);
801  $this->assertCSVDataSet(__DIR__ . '/DataSet/createPlaceholdersAndDeleteDraftParentPage.csv');
802  }
803 }
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\deleteLocalizedContentAndDeleteContent
‪deleteLocalizedContentAndDeleteContent()
Definition: ActionTest.php:140
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\movePageToDifferentPageTwice
‪movePageToDifferentPageTwice()
Definition: ActionTest.php:660
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\copyPage
‪copyPage()
Definition: ActionTest.php:484
‪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\Regular\WorkspacesPublish\ActionTest\moveContentToDifferentPageAndChangeSorting
‪moveContentToDifferentPageAndChangeSorting()
Definition: ActionTest.php:321
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\localizeContentAfterMovedInLiveContent
‪localizeContentAfterMovedInLiveContent()
Definition: ActionTest.php:251
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\changePageSorting
‪changePageSorting()
Definition: ActionTest.php:615
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\createPlaceholdersAndDeleteDraftParentPage
‪createPlaceholdersAndDeleteDraftParentPage()
Definition: ActionTest.php:797
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\localizePageHiddenHideAtCopyDisableHideAtCopySetToTrue
‪localizePageHiddenHideAtCopyDisableHideAtCopySetToTrue()
Definition: ActionTest.php:591
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\changeContentSortingAfterSelf
‪changeContentSortingAfterSelf()
Definition: ActionTest.php:288
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\modifyPage
‪modifyPage()
Definition: ActionTest.php:436
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\localizeContent
‪localizeContent()
Definition: ActionTest.php:227
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\moveContentToDifferentPageAndHide
‪moveContentToDifferentPageAndHide()
Definition: ActionTest.php:336
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\createPageAndSubPageAndSubPageContent
‪createPageAndSubPageAndSubPageContent()
Definition: ActionTest.php:419
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\localizeContentAfterMovedContent
‪localizeContentAfterMovedContent()
Definition: ActionTest.php:243
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\movePageToDifferentPageAndCreatePageAfterMovedPage
‪movePageToDifferentPageAndCreatePageAfterMovedPage()
Definition: ActionTest.php:726
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\deletePage
‪deletePage()
Definition: ActionTest.php:449
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\deleteContent
‪deleteContent()
Definition: ActionTest.php:125
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\copyContentToLanguageFromNonDefaultLanguage
‪copyContentToLanguageFromNonDefaultLanguage()
Definition: ActionTest.php:200
‪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\DataScenarios\Regular\WorkspacesPublish\ActionTest\copyContent
‪copyContent()
Definition: ActionTest.php:160
‪TYPO3\CMS\Core\Tests\Functional\SiteHandling\SiteBasedTestTrait\buildSiteConfiguration
‪buildSiteConfiguration(int $rootPageId, string $base='')
Definition: SiteBasedTestTrait.php:88
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\moveContentToDifferentPage
‪moveContentToDifferentPage()
Definition: ActionTest.php:304
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\changeContentSortingAndCopyDraftPage
‪changeContentSortingAndCopyDraftPage()
Definition: ActionTest.php:742
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\hideContent
‪hideContent()
Definition: ActionTest.php:83
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\movePageLocalizedInLiveWorkspaceDeletedToDifferentPageTwice
‪movePageLocalizedInLiveWorkspaceDeletedToDifferentPageTwice()
Definition: ActionTest.php:692
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\localizePageHiddenHideAtCopyDisableHideAtCopyUnset
‪localizePageHiddenHideAtCopyDisableHideAtCopyUnset()
Definition: ActionTest.php:559
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest
Definition: ActionTest.php:30
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\verifyCleanReferenceIndex
‪verifyCleanReferenceIndex()
Definition: ActionTest.php:32
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\copyContentToLanguage
‪copyContentToLanguage()
Definition: ActionTest.php:173
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\createPageAndMoveCreatedPage
‪createPageAndMoveCreatedPage()
Definition: ActionTest.php:607
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\movePageToDifferentPage
‪movePageToDifferentPage()
Definition: ActionTest.php:645
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\localizeContentFromNonDefaultLanguage
‪localizeContentFromNonDefaultLanguage()
Definition: ActionTest.php:259
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\localizePageNotHiddenHideAtCopyFalse
‪localizePageNotHiddenHideAtCopyFalse()
Definition: ActionTest.php:543
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\changeContentSorting
‪changeContentSorting()
Definition: ActionTest.php:275
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\localizePageHiddenHideAtCopyDisableHideAtCopySetToFalse
‪localizePageHiddenHideAtCopyDisableHideAtCopySetToFalse()
Definition: ActionTest.php:575
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\createContentAndCopyDraftPage
‪createContentAndCopyDraftPage()
Definition: ActionTest.php:750
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\movePageLocalizedToDifferentPageTwice
‪movePageLocalizedToDifferentPageTwice()
Definition: ActionTest.php:668
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\deleteContentAndPage
‪deleteContentAndPage()
Definition: ActionTest.php:462
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish
Definition: ActionTest.php:18
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\localizePage
‪localizePage()
Definition: ActionTest.php:522
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\createContents
‪createContents()
Definition: ActionTest.php:39
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\localizePageNotHiddenHideAtCopyDisableHideAtCopyUnset
‪localizePageNotHiddenHideAtCopyDisableHideAtCopyUnset()
Definition: ActionTest.php:551
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\copyPageFreeMode
‪copyPageFreeMode()
Definition: ActionTest.php:502
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\createPageAndCopyDraftParentPage
‪createPageAndCopyDraftParentPage()
Definition: ActionTest.php:787
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\movePageToDifferentPageAndChangeSorting
‪movePageToDifferentPageAndChangeSorting()
Definition: ActionTest.php:700
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\movePageLocalizedInLiveToDifferentPageTwice
‪movePageLocalizedInLiveToDifferentPageTwice()
Definition: ActionTest.php:676
‪TYPO3\CMS\Core\Tests\Functional\SiteHandling\SiteBasedTestTrait\buildDefaultLanguageConfiguration
‪buildDefaultLanguageConfiguration(string $identifier, string $base)
Definition: SiteBasedTestTrait.php:98
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\AbstractActionWorkspacesTestCase
Definition: AbstractActionWorkspacesTestCase.php:21
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\movePageLocalizedInLiveWorkspaceChangedToDifferentPageTwice
‪movePageLocalizedInLiveWorkspaceChangedToDifferentPageTwice()
Definition: ActionTest.php:684
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\localizeNestedPagesAndContents
‪localizeNestedPagesAndContents()
Definition: ActionTest.php:475
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\moveLocalizedContentToDifferentPage
‪moveLocalizedContentToDifferentPage()
Definition: ActionTest.php:352
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\createContentAndCopyContent
‪createContentAndCopyContent()
Definition: ActionTest.php:56
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\createPageAndChangePageSorting
‪createPageAndChangePageSorting()
Definition: ActionTest.php:599
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\createPage
‪createPage()
Definition: ActionTest.php:406
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\localizePageHiddenHideAtCopyFalse
‪localizePageHiddenHideAtCopyFalse()
Definition: ActionTest.php:535
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\localizePageNotHiddenHideAtCopyDisableHideAtCopySetToTrue
‪localizePageNotHiddenHideAtCopyDisableHideAtCopySetToTrue()
Definition: ActionTest.php:583
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\localizePageNotHiddenHideAtCopyDisableHideAtCopySetToFalse
‪localizePageNotHiddenHideAtCopyDisableHideAtCopySetToFalse()
Definition: ActionTest.php:567
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\modifyContent
‪modifyContent()
Definition: ActionTest.php:70
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\createContentAndLocalize
‪createContentAndLocalize()
Definition: ActionTest.php:769
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\hideContentAndMoveToDifferentPage
‪hideContentAndMoveToDifferentPage()
Definition: ActionTest.php:99
‪TYPO3\CMS\Core\Tests\Functional\DataScenarios\Regular\WorkspacesPublish\ActionTest\changePageSortingAfterSelf
‪changePageSortingAfterSelf()
Definition: ActionTest.php:630