TYPO3 CMS  TYPO3_8-7
IrreTutorialRecordsTest.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 
26 {
30  protected $testExtensionsToLoad = [
31  'typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial',
32  ];
33 
37  public function exportIrreRecords()
38  {
40  'pages' => [
41  'title',
42  'deleted',
43  'doktype',
44  'hidden',
45  'perms_everybody'
46  ],
47  'tt_content' => [
48  'CType',
49  'header',
50  'deleted',
51  'hidden',
52  't3ver_oid',
53  'tx_irretutorial_1nff_hotels',
54  'tx_irretutorial_1ncsv_hotels'
55  ],
56  'tx_irretutorial_1ncsv_hotel' => [
57  'cruser_id',
58  'sys_language_uid',
59  'l18n_parent',
60  'sorting',
61  'deleted',
62  'hidden',
63  'title',
64  'offers',
65  ],
66  'tx_irretutorial_1ncsv_offer' => [
67  'cruser_id',
68  'sys_language_uid',
69  'l18n_parent',
70  'sorting',
71  'deleted',
72  'hidden',
73  'title',
74  'prices',
75  ],
76  'tx_irretutorial_1ncsv_price' => [
77  'cruser_id',
78  'sys_language_uid',
79  'l18n_parent',
80  'sorting',
81  'deleted',
82  'hidden',
83  'title',
84  'price',
85  ],
86  'tx_irretutorial_1nff_hotel' => [
87  'cruser_id',
88  'sys_language_uid',
89  'l18n_parent',
90  'sorting',
91  'deleted',
92  'hidden',
93  'parentid',
94  'parenttable',
95  'parentidentifier',
96  'title',
97  'offers',
98  ],
99  'tx_irretutorial_1nff_offer' => [
100  'cruser_id',
101  'sys_language_uid',
102  'l18n_parent',
103  'sorting',
104  'deleted',
105  'hidden',
106  'parentid',
107  'parenttable',
108  'parentidentifier',
109  'title',
110  'prices',
111  ],
112  'tx_irretutorial_1nff_price' => [
113  'cruser_id',
114  'sys_language_uid',
115  'l18n_parent',
116  'sorting',
117  'deleted',
118  'hidden',
119  'parentid',
120  'parenttable',
121  'parentidentifier',
122  'title',
123  'price',
124  ],
125  'tx_irretutorial_mnasym_hotel' => [
126  'cruser_id',
127  'sys_language_uid',
128  'l18n_parent',
129  'sorting',
130  'deleted',
131  'hidden',
132  'title',
133  'offers',
134  ],
135  'tx_irretutorial_mnasym_hotel_offer_rel' => [
136  'cruser_id',
137  'sys_language_uid',
138  'l18n_parent',
139  'deleted',
140  'hidden',
141  'hotelid',
142  'offerid',
143  'hotelsort',
144  'offersort',
145  'prices',
146  ],
147  'tx_irretutorial_mnasym_offer' => [
148  'cruser_id',
149  'sys_language_uid',
150  'l18n_parent',
151  'sorting',
152  'deleted',
153  'hidden',
154  'title',
155  'hotels',
156  ],
157  'tx_irretutorial_mnasym_price' => [
158  'cruser_id',
159  'sys_language_uid',
160  'l18n_parent',
161  'sorting',
162  'deleted',
163  'hidden',
164  'parentid',
165  'title',
166  'price',
167  ],
168  'tx_irretutorial_mnattr_hotel' => [
169  'cruser_id',
170  'sys_language_uid',
171  'l18n_parent',
172  'sorting',
173  'deleted',
174  'hidden',
175  'title',
176  'offers',
177  ],
178  'tx_irretutorial_mnattr_hotel_offer_rel' => [
179  'cruser_id',
180  'sys_language_uid',
181  'l18n_parent',
182  'deleted',
183  'hidden',
184  'hotelid',
185  'offerid',
186  'hotelsort',
187  'offersort',
188  'quality',
189  'allincl',
190  ],
191  'tx_irretutorial_mnattr_offer' => [
192  'cruser_id',
193  'sys_language_uid',
194  'l18n_parent',
195  'sorting',
196  'deleted',
197  'hidden',
198  'title',
199  'hotels',
200  ],
201  'tx_irretutorial_mnmmasym_hotel' => [
202  'cruser_id',
203  'sys_language_uid',
204  'l18n_parent',
205  'sorting',
206  'deleted',
207  'hidden',
208  'title',
209  'offers',
210  ],
211  'tx_irretutorial_mnmmasym_hotel_offer_rel' => [
212  'uid_local',
213  'uid_foreign',
214  'tablenames',
215  'sorting',
216  'sorting_foreign',
217  'ident',
218  ],
219  'tx_irretutorial_mnmmasym_offer' => [
220  'cruser_id',
221  'sys_language_uid',
222  'l18n_parent',
223  'sorting',
224  'deleted',
225  'hidden',
226  'title',
227  'hotels',
228  'prices',
229  ],
230  'tx_irretutorial_mnmmasym_offer_price_rel' => [
231  'uid_local',
232  'uid_foreign',
233  'tablenames',
234  'sorting',
235  'sorting_foreign',
236  'ident',
237  ],
238  'tx_irretutorial_mnmmasym_price' => [
239  'cruser_id',
240  'sys_language_uid',
241  'l18n_parent',
242  'sorting',
243  'deleted',
244  'hidden',
245  'title',
246  'price',
247  'offers',
248  ],
249  'tx_irretutorial_mnsym_hotel' => [
250  'cruser_id',
251  'sys_language_uid',
252  'l18n_parent',
253  'sorting',
254  'deleted',
255  'hidden',
256  'title',
257  'branches',
258  ],
259  'tx_irretutorial_mnsym_hotel_rel' => [
260  'cruser_id',
261  'sys_language_uid',
262  'l18n_parent',
263  'deleted',
264  'hidden',
265  'hotelid',
266  'branchid',
267  'hotelsort',
268  'branchsort',
269  ]
270 
271  ];
272 
273  $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/irre_tutorial.xml');
274 
275  $subject = GeneralUtility::makeInstance(Export::class);
276  $subject->init();
277 
278  $subject->setRecordTypesIncludeFields($recordTypesIncludeFields);
279 
280  $subject->export_addRecord('pages', BackendUtility::getRecord('pages', 1));
281  $this->addRecordsForPid($subject, 1, array_keys($recordTypesIncludeFields));
282 
283  $this->setPageTree($subject, 1);
284 
285  // After adding ALL records we set relations:
286  for ($a = 0; $a < 10; $a++) {
287  $addR = $subject->export_addDBRelations($a);
288  if (empty($addR)) {
289  break;
290  }
291  }
292 
293  $subject->export_addFilesFromRelations();
294  $subject->export_addFilesFromSysFilesRecords();
295 
296  $out = $subject->compileMemoryToFileContent('xml');
297 
298  $this->assertXmlStringEqualsXmlFile(
299  __DIR__ . '/../Fixtures/XmlExports/' . $this->databasePlatform . '/irre-records.xml',
300  $out
301  );
302  }
303 }
static makeInstance($className,... $constructorArguments)
static getRecord($table, $uid, $fields=' *', $where='', $useDeleteClause=true)