TYPO3 CMS  TYPO3_6-2
ActionTest.php
Go to the documentation of this file.
1 <?php
3 
17 require_once dirname(dirname(__FILE__)) . '/AbstractActionTestCase.php';
18 
23 
27  protected $assertionDataSetDirectory = 'typo3/sysext/core/Tests/Functional/DataHandling/FAL/Modify/DataSet/';
28 
37  public function modifyContent() {
38  parent::modifyContent();
39  $this->assertAssertionDataSet('modifyContent');
40 
41  $responseSections = $this->getFrontendResponse(self::VALUE_PageId)->getResponseSections();
42  $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
43  ->setTable(self::TABLE_Content)->setField('header')->setValues('Testing #1'));
44  $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
45  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField(self::FIELD_ContentImage)
46  ->setTable(self::TABLE_FileReference)->setField('title')->setValues('This is Kasper', 'Taken at T3BOARD'));
47  }
48 
53  public function deleteContent() {
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  parent::copyContent();
70  $this->assertAssertionDataSet('copyContent');
71 
72  $responseSections = $this->getFrontendResponse(self::VALUE_PageId)->getResponseSections();
73  $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
74  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #2 (copy 1)'));
75  $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
76  ->setRecordIdentifier(self::TABLE_Content . ':' . $this->recordIds['copiedContentId'])->setRecordField(self::FIELD_ContentImage)
77  ->setTable(self::TABLE_FileReference)->setField('title')->setValues('This is Kasper', 'Taken at T3BOARD'));
78  }
79 
84  public function localizeContent() {
85  parent::localizeContent();
86  $this->assertAssertionDataSet('localizeContent');
87 
88  $responseSections = $this->getFrontendResponse(self::VALUE_PageId, self::VALUE_LanguageId)->getResponseSections();
89  $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
90  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #1', '[Translate to Dansk:] Regular Element #2'));
91 
92  // @todo Values in sys_file_reference are not copied during localization...
93  /*
94  $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
95  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField(self::FIELD_ContentImage)
96  ->setTable(self::TABLE_FileReference)->setField('title')->setValues('This is Kasper', 'Taken at T3BOARD'));
97  */
98  }
99 
104  public function changeContentSorting() {
105  parent::changeContentSorting();
106  $this->assertAssertionDataSet('changeContentSorting');
107 
108  $responseSections = $this->getFrontendResponse(self::VALUE_PageId)->getResponseSections();
109  $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
110  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #1', 'Regular Element #2'));
111  $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
112  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdFirst)->setRecordField(self::FIELD_ContentImage)
113  ->setTable(self::TABLE_FileReference)->setField('title')->setValues('Kasper', 'T3BOARD'));
114  $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
115  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField(self::FIELD_ContentImage)
116  ->setTable(self::TABLE_FileReference)->setField('title')->setValues('This is Kasper', 'Taken at T3BOARD'));
117  }
118 
123  public function moveContentToDifferentPage() {
124  parent::moveContentToDifferentPage();
125  $this->assertAssertionDataSet('moveContentToDifferentPage');
126 
127  $responseSectionsSource = $this->getFrontendResponse(self::VALUE_PageId)->getResponseSections();
128  $this->assertThat($responseSectionsSource, $this->getRequestSectionHasRecordConstraint()
129  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #1'));
130  $this->assertThat($responseSectionsSource, $this->getRequestSectionStructureHasRecordConstraint()
131  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdFirst)->setRecordField(self::FIELD_ContentImage)
132  ->setTable(self::TABLE_FileReference)->setField('title')->setValues('Kasper', 'T3BOARD'));
133  $responseSectionsTarget = $this->getFrontendResponse(self::VALUE_PageIdTarget)->getResponseSections();
134  $this->assertThat($responseSectionsTarget, $this->getRequestSectionHasRecordConstraint()
135  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #2'));
136  $this->assertThat($responseSectionsTarget, $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 
146  parent::moveContentToDifferentPageAndChangeSorting();
147  $this->assertAssertionDataSet('moveContentToDifferentPageNChangeSorting');
148 
149  $responseSections = $this->getFrontendResponse(self::VALUE_PageIdTarget)->getResponseSections();
150  $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
151  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #1', 'Regular Element #2'));
152  $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
153  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdFirst)->setRecordField(self::FIELD_ContentImage)
154  ->setTable(self::TABLE_FileReference)->setField('title')->setValues('Kasper', 'T3BOARD'));
155  $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
156  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField(self::FIELD_ContentImage)
157  ->setTable(self::TABLE_FileReference)->setField('title')->setValues('This is Kasper', 'Taken at T3BOARD'));
158  }
159 
168  public function createContentWithFileReference() {
169  parent::createContentWithFileReference();
170  $this->assertAssertionDataSet('createContentWFileReference');
171 
172  $responseSections = $this->getFrontendResponse(self::VALUE_PageId)->getResponseSections();
173  $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
174  ->setTable(self::TABLE_Content)->setField('header')->setValues('Testing #1'));
175  $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
176  ->setRecordIdentifier(self::TABLE_Content . ':' . $this->recordIds['newContentId'])->setRecordField(self::FIELD_ContentImage)
177  ->setTable(self::TABLE_FileReference)->setField('title')->setValues('Image #1'));
178  }
179 
184  public function modifyContentWithFileReference() {
185  parent::modifyContentWithFileReference();
186  $this->assertAssertionDataSet('modifyContentWFileReference');
187 
188  $responseSections = $this->getFrontendResponse(self::VALUE_PageId)->getResponseSections();
189  $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
190  ->setTable(self::TABLE_Content)->setField('header')->setValues('Testing #1'));
191  $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
192  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField(self::FIELD_ContentImage)
193  ->setTable(self::TABLE_FileReference)->setField('title')->setValues('Taken at T3BOARD', 'Image #1'));
194  }
195 
201  parent::modifyContentAndAddFileReference();
202  $this->assertAssertionDataSet('modifyContentNAddFileReference');
203 
204  $responseSections = $this->getFrontendResponse(self::VALUE_PageId)->getResponseSections();
205  $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
206  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField(self::FIELD_ContentImage)
207  ->setTable(self::TABLE_FileReference)->setField('title')->setValues('Taken at T3BOARD', 'This is Kasper', 'Image #3'));
208  }
209 
215  parent::modifyContentAndDeleteFileReference();
216  $this->assertAssertionDataSet('modifyContentNDeleteFileReference');
217 
218  $responseSections = $this->getFrontendResponse(self::VALUE_PageId)->getResponseSections();
219  $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
220  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField(self::FIELD_ContentImage)
221  ->setTable(self::TABLE_FileReference)->setField('title')->setValues('This is Kasper'));
222  $this->assertThat($responseSections, $this->getRequestSectionStructureDoesNotHaveRecordConstraint()
223  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField(self::FIELD_ContentImage)
224  ->setTable(self::TABLE_FileReference)->setField('title')->setValues('Taken at T3BOARD'));
225  }
226 
232  parent::modifyContentAndDeleteAllFileReference();
233  $this->assertAssertionDataSet('modifyContentNDeleteAllFileReference');
234 
235  $responseSections = $this->getFrontendResponse(self::VALUE_PageId)->getResponseSections();
236  $this->assertThat($responseSections, $this->getRequestSectionStructureDoesNotHaveRecordConstraint()
237  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField(self::FIELD_ContentImage)
238  ->setTable(self::TABLE_FileReference)->setField('title')->setValues('Taken at T3BOARD', 'This is Kasper'));
239  }
240 
241 }
getFrontendResponse($pageId, $languageId=0, $backendUserId=0, $workspaceId=0, $failOnFailure=TRUE)