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/core/Tests/Functional/DataHandling/FAL/Modify/DataSet/';
26 
35  public function modifyContent()
36  {
37  parent::modifyContent();
38  $this->assertAssertionDataSet('modifyContent');
39 
40  $responseSections = $this->getFrontendResponse(self::VALUE_PageId)->getResponseSections();
41  $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
42  ->setTable(self::TABLE_Content)->setField('header')->setValues('Testing #1'));
43  $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
44  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField(self::FIELD_ContentImage)
45  ->setTable(self::TABLE_FileReference)->setField('title')->setValues('This is Kasper', 'Taken at T3BOARD'));
46  }
47 
52  public function deleteContent()
53  {
54  parent::deleteContent();
55  $this->assertAssertionDataSet('deleteContent');
56 
57  $responseSections = $this->getFrontendResponse(self::VALUE_PageId)->getResponseSections();
58  $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
59  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #1'));
60  $this->assertThat($responseSections, $this->getRequestSectionDoesNotHaveRecordConstraint()
61  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #2'));
62  }
63 
68  public function copyContent()
69  {
70  parent::copyContent();
71  $this->assertAssertionDataSet('copyContent');
72 
73  $responseSections = $this->getFrontendResponse(self::VALUE_PageId)->getResponseSections();
74  $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
75  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #2 (copy 1)'));
76  $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
77  ->setRecordIdentifier(self::TABLE_Content . ':' . $this->recordIds['copiedContentId'])->setRecordField(self::FIELD_ContentImage)
78  ->setTable(self::TABLE_FileReference)->setField('title')->setValues('This is Kasper', 'Taken at T3BOARD'));
79  }
80 
85  public function copyContentToLanguage()
86  {
87  parent::copyContentToLanguage();
88  $this->assertAssertionDataSet('copyContentToLanguage');
89 
90  $this->setUpFrontendRootPage(1, [
91  'typo3/sysext/core/Tests/Functional/Fixtures/Frontend/JsonRenderer.ts',
92  'typo3/sysext/core/Tests/Functional/Fixtures/Frontend/JsonRendererNoOverlay.ts'
93  ]);
94  $responseSections = $this->getFrontendResponse(self::VALUE_PageId, self::VALUE_LanguageId)->getResponseSections();
95  $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
96  ->setTable(self::TABLE_Content)->setField('header')->setValues('[Translate to Dansk:] Regular Element #2'));
97 
98  $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
99  ->setRecordIdentifier(self::TABLE_Content . ':' . $this->recordIds['localizedContentId'])->setRecordField(self::FIELD_ContentImage)
100  ->setTable(self::TABLE_FileReference)->setField('title')->setValues('[Translate to Dansk:] This is Kasper', '[Translate to Dansk:] Taken at T3BOARD'));
101  }
102 
107  public function localizeContent()
108  {
109  parent::localizeContent();
110  $this->assertAssertionDataSet('localizeContent');
111 
112  $responseSections = $this->getFrontendResponse(self::VALUE_PageId, self::VALUE_LanguageId)->getResponseSections();
113  $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
114  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #1', '[Translate to Dansk:] Regular Element #2'));
115 
116  $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
117  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField(self::FIELD_ContentImage)
118  ->setTable(self::TABLE_FileReference)->setField('title')->setValues('[Translate to Dansk:] This is Kasper', '[Translate to Dansk:] Taken at T3BOARD'));
119  }
120 
125  public function changeContentSorting()
126  {
127  parent::changeContentSorting();
128  $this->assertAssertionDataSet('changeContentSorting');
129 
130  $responseSections = $this->getFrontendResponse(self::VALUE_PageId)->getResponseSections();
131  $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
132  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #1', 'Regular Element #2'));
133  $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
134  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdFirst)->setRecordField(self::FIELD_ContentImage)
135  ->setTable(self::TABLE_FileReference)->setField('title')->setValues('Kasper', 'T3BOARD'));
136  $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
137  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField(self::FIELD_ContentImage)
138  ->setTable(self::TABLE_FileReference)->setField('title')->setValues('This is Kasper', 'Taken at T3BOARD'));
139  }
140 
145  public function moveContentToDifferentPage()
146  {
147  parent::moveContentToDifferentPage();
148  $this->assertAssertionDataSet('moveContentToDifferentPage');
149 
150  $responseSectionsSource = $this->getFrontendResponse(self::VALUE_PageId)->getResponseSections();
151  $this->assertThat($responseSectionsSource, $this->getRequestSectionHasRecordConstraint()
152  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #1'));
153  $this->assertThat($responseSectionsSource, $this->getRequestSectionStructureHasRecordConstraint()
154  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdFirst)->setRecordField(self::FIELD_ContentImage)
155  ->setTable(self::TABLE_FileReference)->setField('title')->setValues('Kasper', 'T3BOARD'));
156  $responseSectionsTarget = $this->getFrontendResponse(self::VALUE_PageIdTarget)->getResponseSections();
157  $this->assertThat($responseSectionsTarget, $this->getRequestSectionHasRecordConstraint()
158  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #2'));
159  $this->assertThat($responseSectionsTarget, $this->getRequestSectionStructureHasRecordConstraint()
160  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField(self::FIELD_ContentImage)
161  ->setTable(self::TABLE_FileReference)->setField('title')->setValues('This is Kasper', 'Taken at T3BOARD'));
162  }
163 
169  {
170  parent::moveContentToDifferentPageAndChangeSorting();
171  $this->assertAssertionDataSet('moveContentToDifferentPageNChangeSorting');
172 
173  $responseSections = $this->getFrontendResponse(self::VALUE_PageIdTarget)->getResponseSections();
174  $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
175  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #1', 'Regular Element #2'));
176  $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
177  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdFirst)->setRecordField(self::FIELD_ContentImage)
178  ->setTable(self::TABLE_FileReference)->setField('title')->setValues('Kasper', 'T3BOARD'));
179  $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
180  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField(self::FIELD_ContentImage)
181  ->setTable(self::TABLE_FileReference)->setField('title')->setValues('This is Kasper', 'Taken at T3BOARD'));
182  }
183 
193  {
194  parent::createContentWithFileReference();
195  $this->assertAssertionDataSet('createContentWFileReference');
196 
197  $responseSections = $this->getFrontendResponse(self::VALUE_PageId)->getResponseSections();
198  $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
199  ->setTable(self::TABLE_Content)->setField('header')->setValues('Testing #1'));
200  $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
201  ->setRecordIdentifier(self::TABLE_Content . ':' . $this->recordIds['newContentId'])->setRecordField(self::FIELD_ContentImage)
202  ->setTable(self::TABLE_FileReference)->setField('title')->setValues('Image #1'));
203  }
204 
210  {
211  parent::modifyContentWithFileReference();
212  $this->assertAssertionDataSet('modifyContentWFileReference');
213 
214  $responseSections = $this->getFrontendResponse(self::VALUE_PageId)->getResponseSections();
215  $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
216  ->setTable(self::TABLE_Content)->setField('header')->setValues('Testing #1'));
217  $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
218  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField(self::FIELD_ContentImage)
219  ->setTable(self::TABLE_FileReference)->setField('title')->setValues('Taken at T3BOARD', 'Image #1'));
220  }
221 
227  {
228  parent::modifyContentAndAddFileReference();
229  $this->assertAssertionDataSet('modifyContentNAddFileReference');
230 
231  $responseSections = $this->getFrontendResponse(self::VALUE_PageId)->getResponseSections();
232  $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
233  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField(self::FIELD_ContentImage)
234  ->setTable(self::TABLE_FileReference)->setField('title')->setValues('Taken at T3BOARD', 'This is Kasper', 'Image #3'));
235  }
236 
242  {
243  parent::modifyContentAndDeleteFileReference();
244  $this->assertAssertionDataSet('modifyContentNDeleteFileReference');
245 
246  $responseSections = $this->getFrontendResponse(self::VALUE_PageId)->getResponseSections();
247  $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
248  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField(self::FIELD_ContentImage)
249  ->setTable(self::TABLE_FileReference)->setField('title')->setValues('This is Kasper'));
250  $this->assertThat($responseSections, $this->getRequestSectionStructureDoesNotHaveRecordConstraint()
251  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField(self::FIELD_ContentImage)
252  ->setTable(self::TABLE_FileReference)->setField('title')->setValues('Taken at T3BOARD'));
253  }
254 
260  {
261  parent::modifyContentAndDeleteAllFileReference();
262  $this->assertAssertionDataSet('modifyContentNDeleteAllFileReference');
263 
264  $responseSections = $this->getFrontendResponse(self::VALUE_PageId)->getResponseSections();
265  $this->assertThat($responseSections, $this->getRequestSectionStructureDoesNotHaveRecordConstraint()
266  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField(self::FIELD_ContentImage)
267  ->setTable(self::TABLE_FileReference)->setField('title')->setValues('Taken at T3BOARD', 'This is Kasper'));
268  }
269 }
getFrontendResponse($pageId, $languageId=0, $backendUserId=0, $workspaceId=0, $failOnFailure=true, $frontendUserId=0)
setUpFrontendRootPage($pageId, array $typoScriptFiles=[])