Skip to content

Commit

Permalink
[TASK] Avoid ObjectManager->get() for Typo3QuerySettings
Browse files Browse the repository at this point in the history
makeInstance() can be used as straight substitution
for now. Do this and clean up the test case a bit
along the way.

Resolves: #94233
Releases: master
Change-Id: I1e802d405fd161501e10beea35848eebba397d83
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69323
Tested-by: core-ci <typo3@b13.com>
Tested-by: Torben Hansen <derhansen@gmail.com>
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Torben Hansen <derhansen@gmail.com>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
  • Loading branch information
lolli42 authored and ervaude committed May 29, 2021
1 parent bf12481 commit e461b6c
Show file tree
Hide file tree
Showing 7 changed files with 77 additions and 80 deletions.
Expand Up @@ -17,6 +17,7 @@

namespace TYPO3\CMS\Extbase\Domain\Repository;

use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Extbase\Persistence\Generic\Typo3QuerySettings;
use TYPO3\CMS\Extbase\Persistence\Repository;

Expand All @@ -27,8 +28,7 @@ class BackendUserGroupRepository extends Repository
{
public function initializeObject()
{
/** @var Typo3QuerySettings $querySettings */
$querySettings = $this->objectManager->get(Typo3QuerySettings::class);
$querySettings = GeneralUtility::makeInstance(Typo3QuerySettings::class);
$querySettings->setRespectStoragePage(false);
$this->setDefaultQuerySettings($querySettings);
}
Expand Down
Expand Up @@ -17,6 +17,7 @@

namespace TYPO3\CMS\Extbase\Domain\Repository;

use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Extbase\Persistence\Generic\Typo3QuerySettings;
use TYPO3\CMS\Extbase\Persistence\Repository;

Expand All @@ -27,8 +28,7 @@ class BackendUserRepository extends Repository
{
public function initializeObject()
{
/** @var Typo3QuerySettings $querySettings */
$querySettings = $this->objectManager->get(Typo3QuerySettings::class);
$querySettings = GeneralUtility::makeInstance(Typo3QuerySettings::class);
$querySettings->setRespectStoragePage(false);
$this->setDefaultQuerySettings($querySettings);
}
Expand Down
Expand Up @@ -17,6 +17,7 @@

namespace TYPO3\CMS\Extbase\Domain\Repository;

use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Extbase\Persistence\Generic\Typo3QuerySettings;
use TYPO3\CMS\Extbase\Persistence\Repository;

Expand All @@ -27,8 +28,7 @@ class CategoryRepository extends Repository
{
public function initializeObject()
{
/** @var Typo3QuerySettings $querySettings */
$querySettings = $this->objectManager->get(Typo3QuerySettings::class);
$querySettings = GeneralUtility::makeInstance(Typo3QuerySettings::class);
$querySettings->setRespectStoragePage(false);
$this->setDefaultQuerySettings($querySettings);
}
Expand Down
@@ -1,5 +1,7 @@
<?php

declare(strict_types=1);

/*
* This file is part of the TYPO3 CMS project.
*
Expand All @@ -15,6 +17,7 @@

namespace TYPO3\CMS\Extbase\Tests\Unit\Domain\Repository;

use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Extbase\Domain\Repository\BackendUserGroupRepository;
use TYPO3\CMS\Extbase\Object\ObjectManagerInterface;
use TYPO3\CMS\Extbase\Persistence\Generic\Typo3QuerySettings;
Expand All @@ -28,30 +31,30 @@ class BackendUserGroupRepositoryTest extends UnitTestCase
/**
* @test
*/
public function initializeObjectSetsRespectStoragePidToFalse()
public function initializeObjectSetsRespectStoragePidToFalse(): void
{
$objectManager = $this->createMock(ObjectManagerInterface::class);
$fixture = new BackendUserGroupRepository($objectManager);
$subject = new BackendUserGroupRepository($objectManager);
$querySettings = $this->createMock(Typo3QuerySettings::class);
$querySettings->expects(self::once())->method('setRespectStoragePage')->with(false);
$objectManager->expects(self::once())->method('get')->with(Typo3QuerySettings::class)->willReturn($querySettings);
$fixture->initializeObject();
GeneralUtility::addInstance(Typo3QuerySettings::class, $querySettings);
$subject->initializeObject();
}

/**
* @test
*/
public function initializeObjectSetsDefaultQuerySettings()
public function initializeObjectSetsDefaultQuerySettings(): void
{
$objectManager = $this->createMock(ObjectManagerInterface::class);
/** @var $fixture \TYPO3\CMS\Extbase\Domain\Repository\BackendUserGroupRepository */
$fixture = $this->getMockBuilder(BackendUserGroupRepository::class)
/** @var $subject \TYPO3\CMS\Extbase\Domain\Repository\BackendUserGroupRepository */
$subject = $this->getMockBuilder(BackendUserGroupRepository::class)
->setMethods(['setDefaultQuerySettings'])
->setConstructorArgs([$objectManager])
->getMock();
$querySettings = $this->createMock(Typo3QuerySettings::class);
$objectManager->expects(self::once())->method('get')->with(Typo3QuerySettings::class)->willReturn($querySettings);
$fixture->expects(self::once())->method('setDefaultQuerySettings')->with($querySettings);
$fixture->initializeObject();
GeneralUtility::addInstance(Typo3QuerySettings::class, $querySettings);
$subject->expects(self::once())->method('setDefaultQuerySettings')->with($querySettings);
$subject->initializeObject();
}
}
@@ -1,5 +1,7 @@
<?php

declare(strict_types=1);

/*
* This file is part of the TYPO3 CMS project.
*
Expand All @@ -15,6 +17,7 @@

namespace TYPO3\CMS\Extbase\Tests\Unit\Domain\Repository;

use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Extbase\Domain\Repository\BackendUserGroupRepository;
use TYPO3\CMS\Extbase\Object\ObjectManagerInterface;
use TYPO3\CMS\Extbase\Persistence\Generic\Typo3QuerySettings;
Expand All @@ -28,30 +31,30 @@ class BackendUserRepositoryTest extends UnitTestCase
/**
* @test
*/
public function initializeObjectSetsRespectStoragePidToFalse()
public function initializeObjectSetsRespectStoragePidToFalse(): void
{
$objectManager = $this->createMock(ObjectManagerInterface::class);
$fixture = new BackendUserGroupRepository($objectManager);
$subject = new BackendUserGroupRepository($objectManager);
$querySettings = $this->createMock(Typo3QuerySettings::class);
$querySettings->expects(self::once())->method('setRespectStoragePage')->with(false);
$objectManager->expects(self::once())->method('get')->with(Typo3QuerySettings::class)->willReturn($querySettings);
$fixture->initializeObject();
GeneralUtility::addInstance(Typo3QuerySettings::class, $querySettings);
$subject->initializeObject();
}

/**
* @test
*/
public function initializeObjectSetsDefaultQuerySettings()
public function initializeObjectSetsDefaultQuerySettings(): void
{
$objectManager = $this->createMock(ObjectManagerInterface::class);
/** @var $fixture \TYPO3\CMS\Extbase\Domain\Repository\BackendUserGroupRepository */
$fixture = $this->getMockBuilder(BackendUserGroupRepository::class)
/** @var $subject \TYPO3\CMS\Extbase\Domain\Repository\BackendUserGroupRepository */
$subject = $this->getMockBuilder(BackendUserGroupRepository::class)
->setMethods(['setDefaultQuerySettings'])
->setConstructorArgs([$objectManager])
->getMock();
$querySettings = $this->createMock(Typo3QuerySettings::class);
$objectManager->expects(self::once())->method('get')->with(Typo3QuerySettings::class)->willReturn($querySettings);
$fixture->expects(self::once())->method('setDefaultQuerySettings')->with($querySettings);
$fixture->initializeObject();
GeneralUtility::addInstance(Typo3QuerySettings::class, $querySettings);
$subject->expects(self::once())->method('setDefaultQuerySettings')->with($querySettings);
$subject->initializeObject();
}
}
@@ -1,5 +1,7 @@
<?php

declare(strict_types=1);

/*
* This file is part of the TYPO3 CMS project.
*
Expand All @@ -15,6 +17,7 @@

namespace TYPO3\CMS\Extbase\Tests\Unit\Domain\Repository;

use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Extbase\Domain\Repository\CategoryRepository;
use TYPO3\CMS\Extbase\Object\ObjectManagerInterface;
use TYPO3\CMS\Extbase\Persistence\Generic\Typo3QuerySettings;
Expand All @@ -28,14 +31,14 @@ class CategoryRepositoryTest extends UnitTestCase
/**
* @test
*/
public function initializeObjectSetsRespectStoragePidToFalse()
public function initializeObjectSetsRespectStoragePidToFalse(): void
{
/** @var $objectManager \TYPO3\CMS\Extbase\Object\ObjectManagerInterface */
$objectManager = $this->createMock(ObjectManagerInterface::class);
$fixture = new CategoryRepository($objectManager);
$subject = new CategoryRepository($objectManager);
$querySettings = $this->createMock(Typo3QuerySettings::class);
$querySettings->expects(self::once())->method('setRespectStoragePage')->with(false);
$objectManager->expects(self::once())->method('get')->with(Typo3QuerySettings::class)->willReturn($querySettings);
$fixture->initializeObject();
GeneralUtility::addInstance(Typo3QuerySettings::class, $querySettings);
$subject->initializeObject();
}
}

0 comments on commit e461b6c

Please sign in to comment.