2 namespace TYPO3\CMS\Workspaces\Tests\Functional\DataHandling\ManyToMany\Modify
;
5 * This file is part of the TYPO3 CMS project.
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.
11 * For the full copyright and license information, please read the
12 * LICENSE.txt file that was distributed with this source code.
14 * The TYPO3 project - inspiring people to share!
18 * Functional test for the DataHandler
20 class ActionTest
extends \TYPO3\CMS\Workspaces\Tests\Functional\DataHandling\ManyToMany\AbstractActionTestCase
25 protected $assertionDataSetDirectory = 'typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/Modify/DataSet/';
33 * @see DataSet/Assertion/addCategoryRelation.csv
35 public function addCategoryRelation()
37 parent
::addCategoryRelation();
38 $this->assertAssertionDataSet('addCategoryRelation');
40 $responseSections = $this->getFrontendResponse(self
::VALUE_PageId
, 0, self
::VALUE_BackendUserId
, self
::VALUE_WorkspaceId
)->getResponseSections();
41 $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
42 ->setRecordIdentifier(self
::TABLE_Content
. ':' . self
::VALUE_ContentIdFirst
)->setRecordField('categories')
43 ->setTable(self
::TABLE_Category
)->setField('title')->setValues('Category A', 'Category B', 'Category A.A'));
48 * @see DataSet/Assertion/deleteCategoryRelation.csv
50 public function deleteCategoryRelation()
52 parent
::deleteCategoryRelation();
53 $this->assertAssertionDataSet('deleteCategoryRelation');
55 $responseSections = $this->getFrontendResponse(self
::VALUE_PageId
, 0, self
::VALUE_BackendUserId
, self
::VALUE_WorkspaceId
)->getResponseSections();
56 $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
57 ->setRecordIdentifier(self
::TABLE_Content
. ':' . self
::VALUE_ContentIdFirst
)->setRecordField('categories')
58 ->setTable(self
::TABLE_Category
)->setField('title')->setValues('Category A'));
59 $this->assertThat($responseSections, $this->getRequestSectionStructureDoesNotHaveRecordConstraint()
60 ->setRecordIdentifier(self
::TABLE_Content
. ':' . self
::VALUE_ContentIdFirst
)->setRecordField('categories')
61 ->setTable(self
::TABLE_Category
)->setField('title')->setValues('Category B', 'Category C', 'Category A.A'));
66 * @see DataSet/Assertion/changeCategoryRelationSorting.csv
68 public function changeCategoryRelationSorting()
70 parent
::changeCategoryRelationSorting();
71 $this->assertAssertionDataSet('changeCategoryRelationSorting');
73 $responseSections = $this->getFrontendResponse(self
::VALUE_PageId
, 0, self
::VALUE_BackendUserId
, self
::VALUE_WorkspaceId
)->getResponseSections();
74 $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
75 ->setRecordIdentifier(self
::TABLE_Content
. ':' . self
::VALUE_ContentIdFirst
)->setRecordField('categories')
76 ->setTable(self
::TABLE_Category
)->setField('title')->setValues('Category A', 'Category B'));
81 * @see DataSet/Assertion/createContentRecordAndAddCategoryRelation.csv
83 public function createContentAndAddRelation()
85 parent
::createContentAndAddRelation();
86 $this->assertAssertionDataSet('createContentNAddRelation');
88 $responseSections = $this->getFrontendResponse(self
::VALUE_PageId
, 0, self
::VALUE_BackendUserId
, self
::VALUE_WorkspaceId
)->getResponseSections();
89 $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
90 ->setTable(self
::TABLE_Content
)->setField('header')->setValues('Testing #1'));
91 $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
92 ->setRecordIdentifier(self
::TABLE_Content
. ':' . $this->recordIds
['newContentId'])->setRecordField('categories')
93 ->setTable(self
::TABLE_Category
)->setField('title')->setValues('Category B'));
98 * @see DataSet/Assertion/createCategoryRecordAndAddCategoryRelation.csv
100 public function createCategoryAndAddRelation()
102 parent
::createCategoryAndAddRelation();
103 $this->assertAssertionDataSet('createCategoryNAddRelation');
105 $responseSections = $this->getFrontendResponse(self
::VALUE_PageId
, 0, self
::VALUE_BackendUserId
, self
::VALUE_WorkspaceId
)->getResponseSections();
106 $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
107 ->setTable(self
::TABLE_Category
)->setField('title')->setValues('Testing #1'));
108 $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
109 ->setRecordIdentifier(self
::TABLE_Content
. ':' . self
::VALUE_ContentIdFirst
)->setRecordField('categories')
110 ->setTable(self
::TABLE_Category
)->setField('title')->setValues('Testing #1'));
115 * @see DataSet/Assertion/createContentRecordAndCreateCategoryRelation.csv
117 public function createContentAndCreateRelation()
119 parent
::createContentAndCreateRelation();
120 $this->assertAssertionDataSet('createContentNCreateRelation');
122 $responseSections = $this->getFrontendResponse(self
::VALUE_PageId
, 0, self
::VALUE_BackendUserId
, self
::VALUE_WorkspaceId
)->getResponseSections();
123 $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
124 ->setTable(self
::TABLE_Content
)->setField('header')->setValues('Testing #1'));
125 $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
126 ->setRecordIdentifier(self
::TABLE_Content
. ':' . $this->recordIds
['newContentId'])->setRecordField('categories')
127 ->setTable(self
::TABLE_Category
)->setField('title')->setValues('Testing #1'));
132 * @see DataSet/Assertion/createCategoryRecordAndCreateCategoryRelation.csv
134 public function createCategoryAndCreateRelation()
136 parent
::createCategoryAndCreateRelation();
137 $this->assertAssertionDataSet('createCategoryNCreateRelation');
142 * @see DataSet/Assertion/modifyCategoryRecordOfCategoryRelation.csv
144 public function modifyCategoryOfRelation()
146 parent
::modifyCategoryOfRelation();
147 $this->assertAssertionDataSet('modifyCategoryOfRelation');
149 $responseSections = $this->getFrontendResponse(self
::VALUE_PageId
, 0, self
::VALUE_BackendUserId
, self
::VALUE_WorkspaceId
)->getResponseSections();
150 $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
151 ->setRecordIdentifier(self
::TABLE_Content
. ':' . self
::VALUE_ContentIdFirst
)->setRecordField('categories')
152 ->setTable(self
::TABLE_Category
)->setField('title')->setValues('Testing #1', 'Category B'));
157 * @see DataSet/Assertion/modifyContentRecordOfCategoryRelation.csv
159 public function modifyContentOfRelation()
161 parent
::modifyContentOfRelation();
162 $this->assertAssertionDataSet('modifyContentOfRelation');
164 $responseSections = $this->getFrontendResponse(self
::VALUE_PageId
, 0, self
::VALUE_BackendUserId
, self
::VALUE_WorkspaceId
)->getResponseSections();
165 $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
166 ->setTable(self
::TABLE_Content
)->setField('header')->setValues('Testing #1'));
171 * @see DataSet/Assertion/modifyBothRecordsOfCategoryRelation.csv
173 public function modifyBothsOfRelation()
175 parent
::modifyBothsOfRelation();
176 $this->assertAssertionDataSet('modifyBothsOfRelation');
178 $responseSections = $this->getFrontendResponse(self
::VALUE_PageId
, 0, self
::VALUE_BackendUserId
, self
::VALUE_WorkspaceId
)->getResponseSections();
179 $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
180 ->setRecordIdentifier(self
::TABLE_Content
. ':' . self
::VALUE_ContentIdFirst
)->setRecordField('categories')
181 ->setTable(self
::TABLE_Category
)->setField('title')->setValues('Testing #1', 'Category B'));
182 $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
183 ->setTable(self
::TABLE_Content
)->setField('header')->setValues('Testing #1'));
188 * @see DataSet/Assertion/deleteContentRecordOfCategoryRelation.csv
190 public function deleteContentOfRelation()
192 parent
::deleteContentOfRelation();
193 $this->assertAssertionDataSet('deleteContentOfRelation');
195 $responseSections = $this->getFrontendResponse(self
::VALUE_PageId
, 0, self
::VALUE_BackendUserId
, self
::VALUE_WorkspaceId
)->getResponseSections();
196 $this->assertThat($responseSections, $this->getRequestSectionDoesNotHaveRecordConstraint()
197 ->setTable(self
::TABLE_Content
)->setField('header')->setValues('Testing #1'));
202 * @see DataSet/Assertion/deleteCategoryRecordOfCategoryRelation.csv
204 public function deleteCategoryOfRelation()
206 parent
::deleteCategoryOfRelation();
207 $this->assertAssertionDataSet('deleteCategoryOfRelation');
209 $responseSections = $this->getFrontendResponse(self
::VALUE_PageId
, 0, self
::VALUE_BackendUserId
, self
::VALUE_WorkspaceId
)->getResponseSections();
210 $this->assertThat($responseSections, $this->getRequestSectionStructureDoesNotHaveRecordConstraint()
211 ->setRecordIdentifier(self
::TABLE_Content
. ':' . self
::VALUE_ContentIdFirst
)->setRecordField('categories')
212 ->setTable(self
::TABLE_Category
)->setField('title')->setValues('Category A'));
217 * @see DataSet/Assertion/copyContentRecordOfCategoryRelation.csv
219 public function copyContentOfRelation()
221 parent
::copyContentOfRelation();
222 $this->assertAssertionDataSet('copyContentOfRelation');
224 $responseSections = $this->getFrontendResponse(self
::VALUE_PageId
, 0, self
::VALUE_BackendUserId
, self
::VALUE_WorkspaceId
)->getResponseSections();
225 $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
226 ->setRecordIdentifier(self
::TABLE_Content
. ':' . $this->recordIds
['newContentId'])->setRecordField('categories')
227 ->setTable(self
::TABLE_Category
)->setField('title')->setValues('Category B', 'Category C'));
232 * @see DataSet/Assertion/copyCategoryRecordOfCategoryRelation.csv
234 public function copyCategoryOfRelation()
236 parent
::copyCategoryOfRelation();
237 $this->assertAssertionDataSet('copyCategoryOfRelation');
239 $responseSections = $this->getFrontendResponse(self
::VALUE_PageId
, 0, self
::VALUE_BackendUserId
, self
::VALUE_WorkspaceId
)->getResponseSections();
240 $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
241 ->setRecordIdentifier(self
::TABLE_Content
. ':' . self
::VALUE_ContentIdFirst
)->setRecordField('categories')
242 ->setTable(self
::TABLE_Category
)->setField('title')->setValues('Category A', 'Category A (copy 1)'));
247 * @see DataSet/Assertion/localizeContentRecordOfCategoryRelation.csv
249 public function localizeContentOfRelation()
251 parent
::localizeContentOfRelation();
252 $this->assertAssertionDataSet('localizeContentOfRelation');
254 $responseSections = $this->getFrontendResponse(self
::VALUE_PageId
, self
::VALUE_LanguageId
, self
::VALUE_BackendUserId
, self
::VALUE_WorkspaceId
)->getResponseSections();
255 $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
256 ->setRecordIdentifier(self
::TABLE_Content
. ':' . self
::VALUE_ContentIdLast
)->setRecordField('categories')
257 ->setTable(self
::TABLE_Category
)->setField('title')->setValues('Category B', 'Category C'));
262 * @see DataSet/Assertion/localizeCategoryRecordOfCategoryRelation.csv
264 public function localizeCategoryOfRelation()
266 parent
::localizeCategoryOfRelation();
267 $this->assertAssertionDataSet('localizeCategoryOfRelation');
269 $responseSections = $this->getFrontendResponse(self
::VALUE_PageId
, self
::VALUE_LanguageId
, self
::VALUE_BackendUserId
, self
::VALUE_WorkspaceId
)->getResponseSections();
270 $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
271 ->setRecordIdentifier(self
::TABLE_Content
. ':' . self
::VALUE_ContentIdFirst
)->setRecordField('categories')
272 ->setTable(self
::TABLE_Category
)->setField('title')->setValues('[Translate to Dansk:] Category A', 'Category B'));
277 * @see DataSet/Assertion/moveContentRecordOfCategoryRelationToDifferentPage.csv
279 public function moveContentOfRelationToDifferentPage()
281 parent
::moveContentOfRelationToDifferentPage();
282 $this->assertAssertionDataSet('moveContentOfRelationToDifferentPage');
284 $responseSections = $this->getFrontendResponse(self
::VALUE_PageIdTarget
, 0, self
::VALUE_BackendUserId
, self
::VALUE_WorkspaceId
)->getResponseSections();
285 $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
286 ->setRecordIdentifier(self
::TABLE_Content
. ':' . self
::VALUE_ContentIdLast
)->setRecordField('categories')
287 ->setTable(self
::TABLE_Category
)->setField('title')->setValues('Category B', 'Category C'));
292 * @see DataSet/Assertion/copyPage.csv
294 public function copyPage()
297 $this->assertAssertionDataSet('copyPage');
299 $responseSections = $this->getFrontendResponse($this->recordIds
['newPageId'], 0, self
::VALUE_BackendUserId
, self
::VALUE_WorkspaceId
)->getResponseSections();
300 $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
301 ->setTable(self
::TABLE_Page
)->setField('title')->setValues('Relations'));
302 $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
303 ->setTable(self
::TABLE_Content
)->setField('header')->setValues('Regular Element #1', 'Regular Element #2'));
304 $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
305 ->setRecordIdentifier(self
::TABLE_Content
. ':' . $this->recordIds
['newContentIdFirst'])->setRecordField('categories')
306 ->setTable(self
::TABLE_Category
)->setField('title')->setValues('Category A', 'Category B'));
307 $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
308 ->setRecordIdentifier(self
::TABLE_Content
. ':' . $this->recordIds
['newContentIdLast'])->setRecordField('categories')
309 ->setTable(self
::TABLE_Category
)->setField('title')->setValues('Category B', 'Category C'));