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/workspaces/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, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->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')->setStrict(TRUE));
47  }
48 
53  public function deleteContent() {
54  parent::deleteContent();
55  $this->assertAssertionDataSet('deleteContent');
56 
57  $responseSections = $this->getFrontendResponse(self::VALUE_PageId, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->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, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->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')->setStrict(TRUE));
78  }
79 
84  public function localizeContent() {
85  parent::localizeContent();
86  $this->assertAssertionDataSet('localizeContent');
87 
88  $responseSections = $this->getFrontendResponse(self::VALUE_PageId, self::VALUE_LanguageId, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->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')->setStrict(TRUE));
97  */
98  }
99 
104  public function changeContentSorting() {
105  parent::changeContentSorting();
106  $this->assertAssertionDataSet('changeContentSorting');
107 
108  $responseSections = $this->getFrontendResponse(self::VALUE_PageId, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->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')->setStrict(TRUE));
117  }
118 
123  public function moveContentToDifferentPage() {
124  parent::moveContentToDifferentPage();
125  $this->assertAssertionDataSet('moveContentToDifferentPage');
126 
127  $responseSectionsSource = $this->getFrontendResponse(self::VALUE_PageId, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->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')->setStrict(TRUE));
133 
134  $responseSectionsTarget = $this->getFrontendResponse(self::VALUE_PageIdTarget, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseSections();
135  $this->assertThat($responseSectionsTarget, $this->getRequestSectionHasRecordConstraint()
136  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #2'));
137  $this->assertThat($responseSectionsTarget, $this->getRequestSectionStructureHasRecordConstraint()
138  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField(self::FIELD_ContentImage)
139  ->setTable(self::TABLE_FileReference)->setField('title')->setValues('This is Kasper', 'Taken at T3BOARD')->setStrict(TRUE));
140  }
141 
147  parent::moveContentToDifferentPageAndChangeSorting();
148  $this->assertAssertionDataSet('moveContentToDifferentPageNChangeSorting');
149 
150  $responseSections = $this->getFrontendResponse(self::VALUE_PageIdTarget, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseSections();
151  $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
152  ->setTable(self::TABLE_Content)->setField('header')->setValues('Regular Element #1', 'Regular Element #2'));
153  $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
154  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdFirst)->setRecordField(self::FIELD_ContentImage)
155  ->setTable(self::TABLE_FileReference)->setField('title')->setValues('Kasper', 'T3BOARD')->setStrict(TRUE));
156  $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
157  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField(self::FIELD_ContentImage)
158  ->setTable(self::TABLE_FileReference)->setField('title')->setValues('This is Kasper', 'Taken at T3BOARD')->setStrict(TRUE));
159  }
160 
169  public function createContentWithFileReference() {
170  parent::createContentWithFileReference();
171  $this->assertAssertionDataSet('createContentWFileReference');
172 
173  $responseSections = $this->getFrontendResponse(self::VALUE_PageId, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseSections();
174  $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
175  ->setTable(self::TABLE_Content)->setField('header')->setValues('Testing #1'));
176  $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
177  ->setRecordIdentifier(self::TABLE_Content . ':' . $this->recordIds['newContentId'])->setRecordField(self::FIELD_ContentImage)
178  ->setTable(self::TABLE_FileReference)->setField('title')->setValues('Image #1')->setStrict(TRUE));
179  }
180 
185  public function modifyContentWithFileReference() {
186  parent::modifyContentWithFileReference();
187  $this->assertAssertionDataSet('modifyContentWFileReference');
188 
189  $responseSections = $this->getFrontendResponse(self::VALUE_PageId, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseSections();
190  $this->assertThat($responseSections, $this->getRequestSectionHasRecordConstraint()
191  ->setTable(self::TABLE_Content)->setField('header')->setValues('Testing #1'));
192  $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
193  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField(self::FIELD_ContentImage)
194  ->setTable(self::TABLE_FileReference)->setField('title')->setValues('Taken at T3BOARD', 'Image #1')->setStrict(TRUE));
195  }
196 
202  parent::modifyContentAndAddFileReference();
203  $this->assertAssertionDataSet('modifyContentNAddFileReference');
204 
205  $responseSections = $this->getFrontendResponse(self::VALUE_PageId, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseSections();
206  $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
207  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField(self::FIELD_ContentImage)
208  ->setTable(self::TABLE_FileReference)->setField('title')->setValues('Taken at T3BOARD', 'This is Kasper', 'Image #3')->setStrict(TRUE));
209  }
210 
216  parent::modifyContentAndDeleteFileReference();
217  $this->assertAssertionDataSet('modifyContentNDeleteFileReference');
218 
219  $responseSections = $this->getFrontendResponse(self::VALUE_PageId, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseSections();
220  $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
221  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField(self::FIELD_ContentImage)
222  ->setTable(self::TABLE_FileReference)->setField('title')->setValues('This is Kasper')->setStrict(TRUE));
223  $this->assertThat($responseSections, $this->getRequestSectionStructureDoesNotHaveRecordConstraint()
224  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField(self::FIELD_ContentImage)
225  ->setTable(self::TABLE_FileReference)->setField('title')->setValues('Taken at T3BOARD'));
226  }
227 
233  parent::modifyContentAndDeleteAllFileReference();
234  $this->assertAssertionDataSet('modifyContentNDeleteAllFileReference');
235 
236  $responseSections = $this->getFrontendResponse(self::VALUE_PageId, 0, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseSections();
237  $this->assertThat($responseSections, $this->getRequestSectionStructureDoesNotHaveRecordConstraint()
238  ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField(self::FIELD_ContentImage)
239  ->setTable(self::TABLE_FileReference)->setField('title')->setValues('Taken at T3BOARD', 'This is Kasper'));
240  }
241 
242 }
getFrontendResponse($pageId, $languageId=0, $backendUserId=0, $workspaceId=0, $failOnFailure=TRUE)