‪TYPO3CMS  11.5
PresetsTest.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
19 
25 use TYPO3\CMS\Core\Page\PageRenderer;
28 
30 {
34  public function ‪circleOfLife(): void
35  {
36  $presetActions = [
37  ['presetAction' => ['select' => '0', 'load' => '1'], 'expected' => 'ERROR: No preset selected for loading.'],
38  ['presetAction' => ['select' => '0', 'merge' => '1'], 'expected' => 'ERROR: No preset selected for loading.'],
39  ['presetAction' => ['select' => '0', 'delete' => '1'], 'expected' => 'ERROR: No preset selected for deletion.'],
40  ['presetAction' => ['select' => '0', 'save' => '1'], 'expected' => 'New preset "Test Preset" is created'],
41  ['presetAction' => ['select' => '1', 'load' => '1'], 'expected' => 'Preset #1 loaded!'],
42  ['presetAction' => ['select' => '1', 'merge' => '1'], 'expected' => 'Preset #1 merged!'],
43  ['presetAction' => ['select' => '1', 'save' => '1'], 'expected' => 'Preset #1 saved!'],
44  ['presetAction' => ['select' => '1', 'delete' => '1'], 'expected' => 'Preset #1 deleted!'],
45  ['presetAction' => ['select' => '1', 'load' => '1'], 'expected' => 'ERROR: No valid preset #1 found.'],
46  ['presetAction' => ['select' => '1', 'merge' => '1'], 'expected' => 'ERROR: No valid preset #1 found.'],
47  ['presetAction' => ['select' => '1', 'save' => '1'], 'expected' => 'ERROR: No valid preset #1 found.'],
48  ['presetAction' => ['select' => '1', 'delete' => '1'], 'expected' => 'ERROR: No valid preset #1 found.'],
49  ];
50 
51  foreach ($presetActions as $action) {
52  $this->‪presetAction($action['presetAction'], $action['expected']);
53  }
54  }
55 
60  protected function ‪presetAction(array $presetAction, string $expected): void
61  {
62  $inData = [
63  'pagetree' =>
64  [
65  'id' => '79',
66  'levels' => '0',
67  'tables' => ['sys_file'],
68  ],
69  'external_ref' =>
70  [
71  'tables' => ['sys_file_metadata'],
72  ],
73  'external_static' =>
74  [
75  'tables' => ['sys_file_collection'],
76  ],
77  'showStaticRelations' => '',
78  'excludeDisabled' => '1',
79  'preset' =>
80  [
81  'title' => 'Test Preset',
82  'public' => '',
83  ],
84  'meta' =>
85  [
86  'title' => '',
87  'description' => '',
88  'notes' => '',
89  ],
90  'filetype' => 'xml',
91  'filename' => '',
92  'excludeHTMLfileResources' => '',
93  'saveFilesOutsideExportFile' => '',
94  'extension_dep' => '',
95  'softrefCfg' => [],
96  ];
97 
98  $uriBuilderMock = $this->getAccessibleMock(UriBuilder::class, ['dummy'], [], '', false);
99  $iconFactoryMock = $this->getAccessibleMock(IconFactory::class, ['dummy'], [], '', false);
100  $pageRendererMock = $this->getAccessibleMock(PageRenderer::class, ['dummy'], [], '', false);
101  $moduleTemplateMock = $this->getAccessibleMock(ModuleTemplate::class, ['addFlashMessage'], [], '', false);
102  $moduleTemplateMock->expects(self::once())->method('addFlashMessage')->with(self::equalTo($expected));
103  $moduleTemplateFactoryMock = $this->getAccessibleMock(ModuleTemplateFactory::class, ['create'], [], '', false);
104  $moduleTemplateFactoryMock->method('create')->willReturn($moduleTemplateMock);
105  $responseFactory = $this->getAccessibleMock(ResponseFactory::class, ['dummy'], [], '', false);
106 
107  $subject = $this->getAccessibleMock(ExportController::class, ['addFlashMessage'], [
108  $iconFactoryMock,
109  $pageRendererMock,
110  $uriBuilderMock,
111  $moduleTemplateFactoryMock,
112  $responseFactory,
113  ]);
114  $subject->_set('moduleTemplate', $moduleTemplateMock);
115  $inData = $subject->preprocessInputData($inData);
116  $subject->processPresets($presetAction, $inData);
117  }
118 }
‪TYPO3\CMS\Impexp\Tests\Functional\Export\PresetsTest\circleOfLife
‪circleOfLife()
Definition: PresetsTest.php:34
‪TYPO3\CMS\Backend\Template\ModuleTemplateFactory
Definition: ModuleTemplateFactory.php:29
‪TYPO3\CMS\Core\Imaging\IconFactory
Definition: IconFactory.php:34
‪TYPO3\CMS\Impexp\Tests\Functional\Export\PresetsTest\presetAction
‪presetAction(array $presetAction, string $expected)
Definition: PresetsTest.php:60
‪TYPO3\CMS\Backend\Template\ModuleTemplate
Definition: ModuleTemplate.php:46
‪TYPO3\CMS\Impexp\Tests\Functional\Export\PresetsTest
Definition: PresetsTest.php:30
‪TYPO3\CMS\Impexp\Controller\ExportController
Definition: ExportController.php:48
‪TYPO3\CMS\Backend\Routing\UriBuilder
Definition: UriBuilder.php:40
‪TYPO3\CMS\Impexp\Tests\Functional\Export
Definition: ExportControllerTest.php:18
‪TYPO3\CMS\Core\Http\ResponseFactory
Definition: ResponseFactory.php:27
‪TYPO3\CMS\Impexp\Tests\Functional\AbstractImportExportTestCase
Definition: AbstractImportExportTestCase.php:34