Skip to content

Commit 61ad79c

Browse files
committed
[TASK] Introduce a proxy for FileRepository
1 parent 1b12798 commit 61ad79c

File tree

7 files changed

+36
-12
lines changed

7 files changed

+36
-12
lines changed

Classes/Proxy/FileRepositoryProxy.php

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<?php
2+
namespace FluidTYPO3\Vhs\Proxy;
3+
4+
use TYPO3\CMS\Core\Resource\FileRepository;
5+
use TYPO3\CMS\Core\SingletonInterface;
6+
7+
class FileRepositoryProxy implements SingletonInterface
8+
{
9+
private FileRepository $fileRepository;
10+
11+
public function __construct(FileRepository $fileRepository)
12+
{
13+
$this->fileRepository = $fileRepository;
14+
}
15+
16+
public function findByRelation(string $tableName, string $fieldName, int $uid, ?int $workspaceId = null): array
17+
{
18+
return $this->fileRepository->findByRelation($tableName, $fieldName, $uid, $workspaceId);
19+
}
20+
}

Classes/ViewHelpers/Resource/Record/FalViewHelper.php

+4-3
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
*/
1010

1111
use FluidTYPO3\Vhs\Proxy\DoctrineQueryProxy;
12+
use FluidTYPO3\Vhs\Proxy\FileRepositoryProxy;
1213
use FluidTYPO3\Vhs\Proxy\ResourceFactoryProxy;
1314
use FluidTYPO3\Vhs\Utility\ResourceUtility;
1415
use TYPO3\CMS\Core\Database\Connection;
@@ -55,7 +56,7 @@ class FalViewHelper extends AbstractRecordResourceViewHelper
5556
protected $resourceFactory;
5657

5758
/**
58-
* @var FileRepository
59+
* @var FileRepositoryProxy
5960
*/
6061
protected $fileRepository;
6162

@@ -72,8 +73,8 @@ public function __construct()
7273
/** @var ResourceFactoryProxy $resourceFactory */
7374
$resourceFactory = GeneralUtility::makeInstance(ResourceFactoryProxy::class);
7475
$this->resourceFactory = $resourceFactory;
75-
/** @var FileRepository $fileRepository */
76-
$fileRepository = GeneralUtility::makeInstance(FileRepository::class);
76+
/** @var FileRepositoryProxy $fileRepository */
77+
$fileRepository = GeneralUtility::makeInstance(FileRepositoryProxy::class);
7778
$this->fileRepository = $fileRepository;
7879
}
7980

Configuration/Services.yaml

+3
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ services:
2020
FluidTYPO3\Vhs\Proxy\ResourceFactoryProxy:
2121
public: true
2222

23+
FluidTYPO3\Vhs\Proxy\FileRepositoryProxy:
24+
public: true
25+
2326
FluidTYPO3\Vhs\Service\AssetService:
2427
public: true
2528

Tests/Unit/ViewHelpers/Condition/Form/HasValidatorViewHelperTest.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@
88
* LICENSE.md file that was distributed with this source code.
99
*/
1010

11+
use FluidTYPO3\Vhs\Proxy\FileRepositoryProxy;
1112
use FluidTYPO3\Vhs\Proxy\ResourceFactoryProxy;
1213
use FluidTYPO3\Vhs\Tests\Fixtures\Domain\Model\Bar;
1314
use FluidTYPO3\Vhs\Tests\Fixtures\Domain\Model\Foo;
1415
use FluidTYPO3\Vhs\Tests\Unit\ViewHelpers\AbstractViewHelperTest;
1516
use FluidTYPO3\Vhs\Tests\Unit\ViewHelpers\AbstractViewHelperTestCase;
16-
use TYPO3\CMS\Core\Resource\FileRepository;
1717
use TYPO3\CMS\Extbase\Reflection\ReflectionService;
1818

1919
class HasValidatorViewHelperTest extends AbstractViewHelperTestCase
@@ -22,7 +22,7 @@ class HasValidatorViewHelperTest extends AbstractViewHelperTestCase
2222
protected function setUp(): void
2323
{
2424
$this->singletonInstances[ResourceFactoryProxy::class] = $this->getMockBuilder(ResourceFactoryProxy::class)->disableOriginalConstructor()->getMock();
25-
$this->singletonInstances[FileRepository::class] = $this->getMockBuilder(FileRepository::class)->disableOriginalConstructor()->getMock();
25+
$this->singletonInstances[FileRepositoryProxy::class] = $this->getMockBuilder(FileRepositoryProxy::class)->disableOriginalConstructor()->getMock();
2626
$this->singletonInstances[ReflectionService::class] = $this->getMockBuilder(ReflectionService::class)
2727
->setMethods(['__destruct'])
2828
->disableOriginalConstructor()

Tests/Unit/ViewHelpers/Content/Resources/FalViewHelperTest.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@
88
* LICENSE.md file that was distributed with this source code.
99
*/
1010

11+
use FluidTYPO3\Vhs\Proxy\FileRepositoryProxy;
1112
use FluidTYPO3\Vhs\Proxy\ResourceFactoryProxy;
1213
use FluidTYPO3\Vhs\Tests\Unit\ViewHelpers\AbstractViewHelperTest;
1314
use FluidTYPO3\Vhs\Tests\Unit\ViewHelpers\AbstractViewHelperTestCase;
14-
use TYPO3\CMS\Core\Resource\FileRepository;
1515

1616
/**
1717
* Class FalViewHelperTest
@@ -21,7 +21,7 @@ class FalViewHelperTest extends AbstractViewHelperTestCase
2121
protected function setUp(): void
2222
{
2323
$this->singletonInstances[ResourceFactoryProxy::class] = $this->getMockBuilder(ResourceFactoryProxy::class)->disableOriginalConstructor()->getMock();
24-
$this->singletonInstances[FileRepository::class] = $this->getMockBuilder(FileRepository::class)->disableOriginalConstructor()->getMock();
24+
$this->singletonInstances[FileRepositoryProxy::class] = $this->getMockBuilder(FileRepositoryProxy::class)->disableOriginalConstructor()->getMock();
2525

2626
parent::setUp();
2727
}

Tests/Unit/ViewHelpers/Page/Resources/FalViewHelperTest.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@
88
* LICENSE.md file that was distributed with this source code.
99
*/
1010

11+
use FluidTYPO3\Vhs\Proxy\FileRepositoryProxy;
1112
use FluidTYPO3\Vhs\Proxy\ResourceFactoryProxy;
1213
use FluidTYPO3\Vhs\Tests\Unit\ViewHelpers\AbstractViewHelperTest;
1314
use FluidTYPO3\Vhs\Tests\Unit\ViewHelpers\AbstractViewHelperTestCase;
14-
use TYPO3\CMS\Core\Resource\FileRepository;
1515

1616
/**
1717
* Class FalViewHelperTest
@@ -21,7 +21,7 @@ class FalViewHelperTest extends AbstractViewHelperTestCase
2121
protected function setUp(): void
2222
{
2323
$this->singletonInstances[ResourceFactoryProxy::class] = $this->getMockBuilder(ResourceFactoryProxy::class)->disableOriginalConstructor()->getMock();
24-
$this->singletonInstances[FileRepository::class] = $this->getMockBuilder(FileRepository::class)->disableOriginalConstructor()->getMock();
24+
$this->singletonInstances[FileRepositoryProxy::class] = $this->getMockBuilder(FileRepositoryProxy::class)->disableOriginalConstructor()->getMock();
2525

2626
parent::setUp();
2727
}

Tests/Unit/ViewHelpers/Resource/Record/FalViewHelperTest.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@
88
* LICENSE.md file that was distributed with this source code.
99
*/
1010

11+
use FluidTYPO3\Vhs\Proxy\FileRepositoryProxy;
1112
use FluidTYPO3\Vhs\Proxy\ResourceFactoryProxy;
1213
use FluidTYPO3\Vhs\Tests\Fixtures\Classes\DummyQueryBuilder;
1314
use FluidTYPO3\Vhs\Tests\Unit\ViewHelpers\AbstractViewHelperTest;
1415
use FluidTYPO3\Vhs\Tests\Unit\ViewHelpers\AbstractViewHelperTestCase;
1516
use FluidTYPO3\Vhs\ViewHelpers\Resource\Record\FalViewHelper;
1617
use TYPO3\CMS\Core\Resource\File;
1718
use TYPO3\CMS\Core\Resource\FileReference;
18-
use TYPO3\CMS\Core\Resource\FileRepository;
1919
use TYPO3\CMS\Core\Resource\ResourceStorage;
2020

2121
class FalViewHelperTest extends AbstractViewHelperTestCase
@@ -26,7 +26,7 @@ protected function setUp(): void
2626
->setMethods(['getFileReferenceObject'])
2727
->disableOriginalConstructor()
2828
->getMock();
29-
$this->singletonInstances[FileRepository::class] = $this->getMockBuilder(FileRepository::class)
29+
$this->singletonInstances[FileRepositoryProxy::class] = $this->getMockBuilder(FileRepositoryProxy::class)
3030
->setMethods(['findByRelation'])
3131
->disableOriginalConstructor()
3232
->getMock();
@@ -71,7 +71,7 @@ public function testGetResource(): void
7171

7272
public function testGetResourcesWhenPageContext(): void
7373
{
74-
$this->singletonInstances[FileRepository::class]->method('findByRelation')->willReturn([]);
74+
$this->singletonInstances[FileRepositoryProxy::class]->method('findByRelation')->willReturn([]);
7575

7676
$GLOBALS['TSFE'] = (object) ['sys_page' => 'foobar'];
7777

0 commit comments

Comments
 (0)