TYPO3 CMS  TYPO3_7-6
ActionTest.php
Go to the documentation of this file.
1 <?php
3 
4 /*
5  * This file is part of the TYPO3 CMS project.
6  *
7  * It is free software; you can redistribute it and/or modify it under
8  * the terms of the GNU General Public License, either version 2
9  * of the License, or any later version.
10  *
11  * For the full copyright and license information, please read the
12  * LICENSE.txt file that was distributed with this source code.
13  *
14  * The TYPO3 project - inspiring people to share!
15  */
16 
21 {
25  protected $assertionDataSetDirectory = 'typo3/sysext/workspaces/Tests/Functional/DataHandling/Regular/Modify/DataSet/';
26 
35  public function createContents()
36  {
37  parent::createContents();
38  $this->assertAssertionDataSet('createContents');
39 
40  $responseSections = $this->getFrontendResponse(self::VALUE_PageId, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseSections();
41  $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
42  ->setTable(self::TABLE_Content)->setField('header')->setValues('Testing #1', 'Testing #2'));
43  }
44 
50  {
51  parent::createContentAndDiscardCreatedContent();
52  $this->assertAssertionDataSet('createContentNDiscardCreatedContent');
53 
54  $responseSections = $this->getFrontendResponse(self::VALUE_PageId, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseSections();
55  $this->assertThat($responseSections, $this->getRequestSectionDoesNotHaveRecordConstraint()
56  ->setTable(self::TABLE_Content)->setField('header')->setValues('Testing #1'));
57  }
58 
64  {
65  parent::createAndCopyContentAndDiscardCopiedContent();
66  $this->assertAssertionDataSet('createNCopyContentNDiscardCopiedContent');
67 
68  $responseSections = $this->getFrontendResponse(self::VALUE_PageId, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseSections();
69  $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
70  ->setTable(self::TABLE_Content)->setField('header')->setValues('Testing #1'));
71  $this->assertThat($responseSections, $this->getRequestSectionDoesNotHaveRecordConstraint()
72  ->setTable(self::TABLE_Content)->setField('header')->setValues('Testing #1 (copy 1)'));
73  }
74 
79  public function modifyContent()
80  {
81  parent::modifyContent();
82  $this->assertAssertionDataSet('modifyContent');
83 
84  $responseSections = $this->getFrontendResponse(self::VALUE_PageId, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseSections();
85  $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
86  ->setTable(self::TABLE_Content)->setField('header')->setValues('Testing #1'));
87  }
88 
93  public function deleteContent()
94  {
95  parent::deleteContent();
96  $this->assertAssertionDataSet('deleteContent');
97 
98  $responseSections = $this->getFrontendResponse(self::VALUE_PageId, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseSections();
99  $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
100  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #1'));
101  $this->assertThat($responseSections, $this->getRequestSectionDoesNotHaveRecordConstraint()
102  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #2'));
103  }
104 
110  {
111  parent::deleteLocalizedContentAndDeleteContent();
112  $this->assertAssertionDataSet('deleteLocalizedContentNDeleteContent');
113 
114  $responseSections = $this->getFrontendResponse(self::VALUE_PageId, self::VALUE_LanguageId, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseSections();
115  $this->assertThat($responseSections, $this->getRequestSectionDoesNotHaveRecordConstraint()
116  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #3', '[Translate to Dansk:] Regular Element #3'));
117  }
118 
123  public function copyContent()
124  {
125  parent::copyContent();
126  $this->assertAssertionDataSet('copyContent');
127 
128  $responseSections = $this->getFrontendResponse(self::VALUE_PageId, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseSections();
129  $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
130  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #2 (copy 1)'));
131  }
132 
137  public function copyContentToLanguage()
138  {
139  parent::copyContentToLanguage();
140  $this->assertAssertionDataSet('copyContentToLanguage');
141 
142  $this->setUpFrontendRootPage(1, [
143  'typo3/sysext/core/Tests/Functional/Fixtures/Frontend/JsonRenderer.ts',
144  'typo3/sysext/core/Tests/Functional/Fixtures/Frontend/JsonRendererNoOverlay.ts'
145  ]);
146  $responseSections = $this->getFrontendResponse(self::VALUE_PageId, self::VALUE_LanguageId, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseSections();
147  $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
148  ->setTable(self::TABLE_Content)->setField('header')->setValues('[Translate to Dansk:] Regular Element #3', '[Translate to Dansk:] Regular Element #2'));
149  }
150 
156  {
157  parent::copyContentToLanguageFromNonDefaultLanguage();
158  $this->assertAssertionDataSet('copyContentToLanguageFromNonDefaultLanguage');
159 
160  $this->setUpFrontendRootPage(1, [
161  'typo3/sysext/core/Tests/Functional/Fixtures/Frontend/JsonRenderer.ts',
162  'typo3/sysext/core/Tests/Functional/Fixtures/Frontend/JsonRendererNoOverlay.ts'
163  ]);
164  $responseSections = $this->getFrontendResponse(self::VALUE_PageId, self::VALUE_LanguageIdSecond, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseSections();
165  $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
166  ->setTable(self::TABLE_Content)->setField('header')->setValues('[Translate to Deutsch:] [Translate to Dansk:] Regular Element #3'));
167  }
168 
173  public function localizeContent()
174  {
175  parent::localizeContent();
176  $this->assertAssertionDataSet('localizeContent');
177 
178  $responseSections = $this->getFrontendResponse(self::VALUE_PageId, self::VALUE_LanguageId, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseSections();
179  $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
180  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #1', '[Translate to Dansk:] Regular Element #2'));
181  }
182 
188  {
189  parent::localizeContentFromNonDefaultLanguage();
190 
191  $this->assertAssertionDataSet('localizeContentFromNonDefaultLanguage');
192 
193  $responseSections = $this->getFrontendResponse(self::VALUE_PageId, self::VALUE_LanguageIdSecond, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseSections();
194  $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
195  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #1', '[Translate to Deutsch:] [Translate to Dansk:] Regular Element #3'));
196  }
197 
202  public function changeContentSorting()
203  {
204  parent::changeContentSorting();
205  $this->assertAssertionDataSet('changeContentSorting');
206 
207  $responseSections = $this->getFrontendResponse(self::VALUE_PageId, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseSections();
208  $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
209  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #1', 'Regular Element #2'));
210  }
211 
217  {
218  parent::changeContentSortingAndDeleteMovedRecord();
219  $this->assertAssertionDataSet('changeContentSortingNDeleteMovedRecord');
220 
221  $responseSections = $this->getFrontendResponse(self::VALUE_PageId, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseSections();
222  $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
223  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #1', 'Regular Element #2'));
224  }
225 
231  {
232  parent::changeContentSortingAndDeleteLiveRecord();
233  $this->assertAssertionDataSet('changeContentSortingNDeleteLiveRecord');
234 
235  $responseSections = $this->getFrontendResponse(self::VALUE_PageId, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseSections();
236  $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
237  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #2'));
238  $this->assertThat($responseSections, $this->getRequestSectionDoesNotHaveRecordConstraint()
239  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #1'));
240  }
241 
246  public function moveContentToDifferentPage()
247  {
248  parent::moveContentToDifferentPage();
249  $this->assertAssertionDataSet('moveContentToDifferentPage');
250 
251  $responseSectionsSource = $this->getFrontendResponse(self::VALUE_PageId, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseSections();
252  $this->assertThat($responseSectionsSource, $this->getRequestSectionHasRecordConstraint()
253  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #1'));
254  $responseSectionsTarget = $this->getFrontendResponse(self::VALUE_PageIdTarget, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseSections();
255  $this->assertThat($responseSectionsTarget, $this->getRequestSectionHasRecordConstraint()
256  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #2'));
257  }
258 
264  {
265  parent::moveContentToDifferentPageAndChangeSorting();
266  $this->assertAssertionDataSet('moveContentToDifferentPageNChangeSorting');
267 
268  $responseSections = $this->getFrontendResponse(self::VALUE_PageIdTarget, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseSections();
269  $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
270  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #1', 'Regular Element #2'));
271  }
272 
281  public function createPage()
282  {
283  parent::createPage();
284  $this->assertAssertionDataSet('createPage');
285 
286  $responseSections = $this->getFrontendResponse($this->recordIds['newPageId'], 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseSections();
287  $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
288  ->setTable(self::TABLE_Page)->setField('title')->setValues('Testing #1'));
289  }
290 
295  public function modifyPage()
296  {
297  parent::modifyPage();
298  $this->assertAssertionDataSet('modifyPage');
299 
300  $responseSections = $this->getFrontendResponse(self::VALUE_PageId, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseSections();
301  $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
302  ->setTable(self::TABLE_Page)->setField('title')->setValues('Testing #1'));
303  }
304 
309  public function deletePage()
310  {
311  parent::deletePage();
312  $this->assertAssertionDataSet('deletePage');
313 
314  $response = $this->getFrontendResponse(self::VALUE_PageId, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId, false);
315  $this->assertContains('RuntimeException', $response->getError());
316  }
317 
322  public function deleteContentAndPage()
323  {
324  parent::deleteContentAndPage();
325  $this->assertAssertionDataSet('deleteContentAndPage');
326 
327  $response = $this->getFrontendResponse(self::VALUE_PageId, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId, false);
328  $this->assertContains('RuntimeException', $response->getError());
329  }
330 
335  public function copyPage()
336  {
337  parent::copyPage();
338  $this->assertAssertionDataSet('copyPage');
339 
340  $responseSections = $this->getFrontendResponse($this->recordIds['newPageId'], 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseSections();
341  $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
342  ->setTable(self::TABLE_Page)->setField('title')->setValues('Relations'));
343  }
344 
349  public function copyPageFreeMode()
350  {
351  $this->importScenarioDataSet('LivePageFreeModeElements');
352  parent::copyPageFreeMode();
353  $this->assertAssertionDataSet('copyPageFreeMode');
354 
355  $responseSections = $this->getFrontendResponse($this->recordIds['newPageId'], 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseSections();
356  $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
357  ->setTable(self::TABLE_Page)->setField('title')->setValues('Target'));
358  $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
359  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #10'));
360  }
361 
366  public function localizePage()
367  {
368  parent::localizePage();
369  $this->assertAssertionDataSet('localizePage');
370 
371  $responseSections = $this->getFrontendResponse(self::VALUE_PageId, self::VALUE_LanguageId, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseSections();
372  $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
373  ->setTable(self::TABLE_Page)->setField('title')->setValues('[Translate to Dansk:] Relations'));
374  }
375 
380  public function changePageSorting()
381  {
382  parent::changePageSorting();
383  $this->assertAssertionDataSet('changePageSorting');
384 
385  $responseSections = $this->getFrontendResponse(self::VALUE_PageId, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseSections();
386  $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
387  ->setTable(self::TABLE_Page)->setField('title')->setValues('Relations'));
388  $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
389  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #1', 'Regular Element #2'));
390  }
391 
396  public function movePageToDifferentPage()
397  {
398  parent::movePageToDifferentPage();
399  $this->assertAssertionDataSet('movePageToDifferentPage');
400 
401  $responseSections = $this->getFrontendResponse(self::VALUE_PageId, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseSections();
402  $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
403  ->setTable(self::TABLE_Page)->setField('title')->setValues('Relations'));
404  $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
405  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #1', 'Regular Element #2'));
406  }
407 
413  {
414  parent::movePageToDifferentPageAndChangeSorting();
415  $this->assertAssertionDataSet('movePageToDifferentPageNChangeSorting');
416 
417  $responseSectionsPage = $this->getFrontendResponse(self::VALUE_PageId, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseSections();
418  $this->assertThat($responseSectionsPage, $this->getRequestSectionHasRecordConstraint()
419  ->setTable(self::TABLE_Page)->setField('title')->setValues('Relations'));
420  $this->assertThat($responseSectionsPage, $this->getRequestSectionHasRecordConstraint()
421  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #1', 'Regular Element #2'));
422  $responseSectionsWebsite = $this->getFrontendResponse(self::VALUE_PageIdWebsite, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseSections();
423  $this->assertThat($responseSectionsWebsite, $this->getRequestSectionStructureHasRecordConstraint()
424  ->setRecordIdentifier(self::TABLE_Page . ':' . self::VALUE_PageIdWebsite)->setRecordField('__pages')
425  ->setTable(self::TABLE_Page)->setField('title')->setValues('Target', 'Relations', 'DataHandlerTest'));
426  }
427 
435  {
436  parent::movePageToDifferentPageAndCreatePageAfterMovedPage();
437  $this->assertAssertionDataSet('movePageToDifferentPageNCreatePageAfterMovedPage');
438 
439  $responseSections = $this->getFrontendResponse(self::VALUE_PageIdWebsite, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseSections();
440  $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
441  ->setRecordIdentifier(self::TABLE_Page . ':' . self::VALUE_PageIdWebsite)->setRecordField('__pages')
442  ->setTable(self::TABLE_Page)->setField('title')->setValues('Target', 'Testing #1', 'DataHandlerTest'));
443  }
444 
445  /*************************************
446  * Copying page contents and sub-pages
447  *************************************/
448 
454  {
455  parent::createContentAndCopyDraftPage();
456  $this->assertAssertionDataSet('createContentAndCopyDraftPage');
457 
458  $responseSectionsLive = $this->getFrontendResponse($this->recordIds['copiedPageId'])->getResponseSections();
459  $this->assertThat($responseSectionsLive, $this->getRequestSectionDoesNotHaveRecordConstraint()
460  ->setTable(static::TABLE_Content)->setField('header')->setValues('Testing #1'));
461  $responseSectionsDraft = $this->getFrontendResponse($this->recordIds['copiedPageId'], 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseSections();
462  $this->assertThat($responseSectionsDraft, $this->getRequestSectionHasRecordConstraint()
463  ->setTable(static::TABLE_Content)->setField('header')->setValues('Testing #1'));
464  }
465 
471  {
472  parent::createContentAndCopyLivePage();
473  $this->assertAssertionDataSet('createContentAndCopyLivePage');
474 
475  $responseSectionsLive = $this->getFrontendResponse($this->recordIds['copiedPageId'])->getResponseSections();
476  $this->assertThat($responseSectionsLive, $this->getRequestSectionDoesNotHaveRecordConstraint()
477  ->setTable(static::TABLE_Content)->setField('header')->setValues('Testing #1'));
478  $responseSectionsDraft = $this->getFrontendResponse($this->recordIds['copiedPageId'], 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseSections();
479  $this->assertThat($responseSectionsDraft, $this->getRequestSectionDoesNotHaveRecordConstraint()
480  ->setTable(static::TABLE_Content)->setField('header')->setValues('Testing #1'));
481  }
482 
488  {
489  parent::createPageAndCopyDraftParentPage();
490  $this->assertAssertionDataSet('createPageAndCopyDraftParentPage');
491 
492  $responseSectionsLive = $this->getFrontendResponse($this->recordIds['copiedPageId'])->getResponseSections();
493  $this->assertThat($responseSectionsLive, $this->getRequestSectionDoesNotHaveRecordConstraint()
494  ->setTable(static::TABLE_Page)->setField('title')->setValues('Testing #1'));
495  $responseSectionsDraft = $this->getFrontendResponse($this->recordIds['copiedPageId'], 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseSections();
496  $this->assertThat($responseSectionsDraft, $this->getRequestSectionHasRecordConstraint()
497  ->setTable(static::TABLE_Page)->setField('title')->setValues('Testing #1'));
498  }
499 
505  {
506  parent::createPageAndCopyLiveParentPage();
507  $this->assertAssertionDataSet('createPageAndCopyLiveParentPage');
508 
509  $responseSectionsLive = $this->getFrontendResponse($this->recordIds['copiedPageId'])->getResponseSections();
510  $this->assertThat($responseSectionsLive, $this->getRequestSectionDoesNotHaveRecordConstraint()
511  ->setTable(static::TABLE_Page)->setField('title')->setValues('Testing #1'));
512  $responseSectionsDraft = $this->getFrontendResponse($this->recordIds['copiedPageId'], 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseSections();
513  $this->assertThat($responseSectionsDraft, $this->getRequestSectionDoesNotHaveRecordConstraint()
514  ->setTable(static::TABLE_Page)->setField('title')->setValues('Testing #1'));
515  }
516 
522  {
523  parent::createNestedPagesAndCopyDraftParentPage();
524  $this->assertAssertionDataSet('createNestedPagesAndCopyDraftParentPage');
525 
526  $responseSectionsLive = $this->getFrontendResponse($this->recordIds['copiedPageId'])->getResponseSections();
527  $this->assertThat($responseSectionsLive, $this->getRequestSectionDoesNotHaveRecordConstraint()
528  ->setTable(static::TABLE_Page)->setField('title')->setValues('Testing #1'));
529  $responseSectionsDraft = $this->getFrontendResponse($this->recordIds['copiedPageId'], 0, static::VALUE_BackendUserId, static::VALUE_WorkspaceId)->getResponseSections();
530  $this->assertThat($responseSectionsDraft, $this->getRequestSectionHasRecordConstraint()
531  ->setTable(static::TABLE_Page)->setField('title')->setValues('Testing #1'));
532  }
533 
539  {
540  parent::createNestedPagesAndCopyLiveParentPage();
541  $this->assertAssertionDataSet('createNestedPagesAndCopyLiveParentPage');
542 
543  $responseSectionsLive = $this->getFrontendResponse($this->recordIds['copiedPageId'])->getResponseSections();
544  $this->assertThat($responseSectionsLive, $this->getRequestSectionDoesNotHaveRecordConstraint()
545  ->setTable(static::TABLE_Page)->setField('title')->setValues('Testing #1'));
546  $responseSectionsDraft = $this->getFrontendResponse($this->recordIds['copiedPageId'], 0, static::VALUE_BackendUserId, static::VALUE_WorkspaceId)->getResponseSections();
547  $this->assertThat($responseSectionsDraft, $this->getRequestSectionDoesNotHaveRecordConstraint()
548  ->setTable(static::TABLE_Page)->setField('title')->setValues('Testing #1'));
549  }
550 
556  {
557  parent::deleteContentAndCopyDraftPage();
558  $this->assertAssertionDataSet('deleteContentAndCopyDraftPage');
559 
560  $responseSectionsLive = $this->getFrontendResponse($this->recordIds['copiedPageId'])->getResponseSections();
561  $this->assertThat($responseSectionsLive, $this->getRequestSectionDoesNotHaveRecordConstraint()
562  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #2'));
563  $responseSectionsDraft = $this->getFrontendResponse($this->recordIds['copiedPageId'], 0, static::VALUE_BackendUserId, static::VALUE_WorkspaceId)->getResponseSections();
564  $this->assertThat($responseSectionsDraft, $this->getRequestSectionDoesNotHaveRecordConstraint()
565  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #2'));
566  }
567 
573  {
574  parent::deleteContentAndCopyLivePage();
575  $this->assertAssertionDataSet('deleteContentAndCopyLivePage');
576 
577  $responseSectionsLive = $this->getFrontendResponse($this->recordIds['copiedPageId'])->getResponseSections();
578  $this->assertThat($responseSectionsLive, $this->getRequestSectionHasRecordConstraint()
579  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #2'));
580  $responseSectionsDraft = $this->getFrontendResponse($this->recordIds['copiedPageId'], 0, static::VALUE_BackendUserId, static::VALUE_WorkspaceId)->getResponseSections();
581  $this->assertThat($responseSectionsDraft, $this->getRequestSectionHasRecordConstraint()
582  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #2'));
583  }
584 
590  {
591  parent::changeContentSortingAndCopyDraftPage();
592  $this->assertAssertionDataSet('changeContentSortingAndCopyDraftPage');
593 
594  $responseSectionsLive = $this->getFrontendResponse($this->recordIds['copiedPageId'])->getResponseSections();
595  $this->assertThat($responseSectionsLive, $this->getRequestSectionDoesNotHaveRecordConstraint()
596  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #1'));
597  $responseSectionsDraft = $this->getFrontendResponse($this->recordIds['copiedPageId'], 0, static::VALUE_BackendUserId, static::VALUE_WorkspaceId)->getResponseSections();
598  $this->assertThat($responseSectionsDraft, $this->getRequestSectionHasRecordConstraint()
599  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #1'));
600  }
601 
607  {
608  parent::changeContentSortingAndCopyLivePage();
609  $this->assertAssertionDataSet('changeContentSortingAndCopyLivePage');
610 
611  $responseSectionsLive = $this->getFrontendResponse($this->recordIds['copiedPageId'])->getResponseSections();
612  $this->assertThat($responseSectionsLive, $this->getRequestSectionHasRecordConstraint()
613  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #1'));
614  $responseSectionsDraft = $this->getFrontendResponse($this->recordIds['copiedPageId'], 0, static::VALUE_BackendUserId, static::VALUE_WorkspaceId)->getResponseSections();
615  $this->assertThat($responseSectionsDraft, $this->getRequestSectionHasRecordConstraint()
616  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #1'));
617  }
618 
623  public function moveContentAndCopyDraftPage()
624  {
625  parent::moveContentAndCopyDraftPage();
626  $this->assertAssertionDataSet('moveContentAndCopyDraftPage');
627 
628  $responseSectionsLive = $this->getFrontendResponse($this->recordIds['copiedPageId'])->getResponseSections();
629  $this->assertThat($responseSectionsLive, $this->getRequestSectionDoesNotHaveRecordConstraint()
630  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #0', 'Regular Element #2'));
631  $responseSectionsDraft = $this->getFrontendResponse($this->recordIds['copiedPageId'], 0, static::VALUE_BackendUserId, static::VALUE_WorkspaceId)->getResponseSections();
632  $this->assertThat($responseSectionsDraft, $this->getRequestSectionDoesNotHaveRecordConstraint()
633  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #2'));
634  $this->assertThat($responseSectionsDraft, $this->getRequestSectionHasRecordConstraint()
635  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #0'));
636  }
637 
642  public function moveContentAndCopyLivePage()
643  {
644  parent::moveContentAndCopyLivePage();
645  $this->assertAssertionDataSet('moveContentAndCopyLivePage');
646 
647  $responseSectionsLive = $this->getFrontendResponse($this->recordIds['copiedPageId'])->getResponseSections();
648  $this->assertThat($responseSectionsLive, $this->getRequestSectionHasRecordConstraint()
649  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #2'));
650  $this->assertThat($responseSectionsLive, $this->getRequestSectionDoesNotHaveRecordConstraint()
651  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #0'));
652  $responseSectionsDraft = $this->getFrontendResponse($this->recordIds['copiedPageId'], 0, static::VALUE_BackendUserId, static::VALUE_WorkspaceId)->getResponseSections();
653  $this->assertThat($responseSectionsDraft, $this->getRequestSectionHasRecordConstraint()
654  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #2'));
655  $this->assertThat($responseSectionsDraft, $this->getRequestSectionDoesNotHaveRecordConstraint()
656  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #0'));
657  }
658 
664  {
665  parent::createPlaceholdersAndDeleteDraftParentPage();
666  $this->assertAssertionDataSet('createPlaceholdersAndDeleteDraftParentPage');
667  }
668 
674  {
675  parent::createPlaceholdersAndDeleteLiveParentPage();
676  $this->assertAssertionDataSet('createPlaceholdersAndDeleteLiveParentPage');
677  }
678 }
getFrontendResponse($pageId, $languageId=0, $backendUserId=0, $workspaceId=0, $failOnFailure=true, $frontendUserId=0)
setUpFrontendRootPage($pageId, array $typoScriptFiles=[])