‪TYPO3CMS  11.5
FileBrowserTest.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 
20 use Prophecy\Argument;
21 use Prophecy\PhpUnit\ProphecyTrait;
22 use Psr\Http\Message\ServerRequestInterface;
28 use TYPO3\CMS\Core\Page\PageRenderer;
31 use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
32 
33 class ‪FileBrowserTest extends UnitTestCase
34 {
35  use ProphecyTrait;
36 
41  {
42  [$moduleTemplate, $beUser] = $this->‪setupProphecies();
43 
44  $bParams = '|||gif,png,svg|data-4-pages-4-nav_icon-sys_file_reference';
45  $fileBrowser = $this->getAccessibleMock(FileBrowser::class, ['dummy'], [], '', false);
46  $fileBrowser->_set('bparams', $bParams);
47  $fileBrowser->_set('moduleTemplate', $moduleTemplate);
48  $fileBrowser->_set('request', $this->prophesize(ServerRequestInterface::class)->reveal());
49  $fileBrowser->render();
50 
51  $beUser->getTSConfig()->shouldHaveBeenCalled();
52  $beUser->getDefaultUploadFolder(4, 'pages', 'nav_icon')->shouldHaveBeenCalled();
53  }
54 
58  private function ‪setupProphecies(): array
59  {
60  $moduleTemplate = $this->getAccessibleMock(ModuleTemplate::class, ['setupPage'], [], '', false);
61  $moduleTemplate->_set('flashMessageQueue', $this->prophesize(FlashMessageQueue::class)->reveal());
62  $moduleTemplate->_set('view', $this->prophesize(StandaloneView::class)->reveal());
63  $moduleTemplate->_set('docHeaderComponent', $this->prophesize(DocHeaderComponent::class)->reveal());
64  $moduleTemplate->_set('pageRenderer', $this->prophesize(PageRenderer::class)->reveal());
65 
66  $lang = $this->prophesize(LanguageService::class);
67  ‪$GLOBALS['LANG'] = $lang->reveal();
68 
69  $beUser = $this->prophesize(BackendUserAuthentication::class);
70  $beUser->getFileStorages()->willReturn([]);
71  $beUser->getTSConfig()->willReturn('');
72  $beUser->getModuleData(Argument::cetera())->willReturn([]);
73  $beUser->getDefaultUploadFolder(Argument::cetera())->willReturn('');
74  ‪$GLOBALS['BE_USER'] = $beUser->reveal();
75  return [$moduleTemplate, $beUser];
76  }
77 }
‪TYPO3\CMS\Backend\Template\Components\DocHeaderComponent
Definition: DocHeaderComponent.php:25
‪TYPO3\CMS\Recordlist\Tests\Unit\Browser\FileBrowserTest
Definition: FileBrowserTest.php:34
‪TYPO3\CMS\Recordlist\Tests\Unit\Browser\FileBrowserTest\setupProphecies
‪array setupProphecies()
Definition: FileBrowserTest.php:57
‪TYPO3\CMS\Recordlist\Browser\FileBrowser
Definition: FileBrowser.php:41
‪TYPO3\CMS\Recordlist\Tests\Unit\Browser\FileBrowserTest\renderGetsUserDefaultUploadFolderForCurrentPageData
‪renderGetsUserDefaultUploadFolderForCurrentPageData()
Definition: FileBrowserTest.php:39
‪TYPO3\CMS\Backend\Template\ModuleTemplate
Definition: ModuleTemplate.php:46
‪TYPO3\CMS\Recordlist\Tests\Unit\Browser
Definition: FileBrowserTest.php:18
‪TYPO3\CMS\Core\Authentication\BackendUserAuthentication
Definition: BackendUserAuthentication.php:62
‪TYPO3\CMS\Fluid\View\StandaloneView
Definition: StandaloneView.php:31
‪$GLOBALS
‪$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['adminpanel']['modules']
Definition: ext_localconf.php:25
‪TYPO3\CMS\Core\Localization\LanguageService
Definition: LanguageService.php:42
‪TYPO3\CMS\Core\Messaging\FlashMessageQueue
Definition: FlashMessageQueue.php:29