mirror of https://github.com/FriendsOfTYPO3/tea.git synced 2024-09-19 23:16:12 +02:00

[TASK] Switch the TeaController to construtor injection (#881)

Fixes #869
This commit is contained in:
Oliver Klee 2023-07-03 14:26:21 +02:00 committed by GitHub
parent 97a19b7816
commit b4c93d8dea
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 5 deletions

View file

@ -16,7 +16,7 @@ class TeaController extends ActionController
{
private TeaRepository $teaRepository;
public function injectTeaRepository(TeaRepository $teaRepository): void
public function __construct(TeaRepository $teaRepository)
{
$this->teaRepository = $teaRepository;
}

View file

@ -40,19 +40,17 @@ final class TeaControllerTest extends UnitTestCase
{
parent::setUp();
$this->teaRepositoryMock = $this->getMockBuilder(TeaRepository::class)->disableOriginalConstructor()->getMock();
// We need to create an accessible mock in order to be able to set the protected `view`.
$methodsToMock = ['htmlResponse', 'redirect', 'redirectToUri'];
if ((new Typo3Version())->getMajorVersion() <= 11) {
$methodsToMock[] = 'forward';
}
$this->subject = $this->getAccessibleMock(TeaController::class, $methodsToMock);
$this->subject = $this->getAccessibleMock(TeaController::class, $methodsToMock, [$this->teaRepositoryMock]);
$this->viewMock = $this->createMock(TemplateView::class);
$this->subject->_set('view', $this->viewMock);
$this->teaRepositoryMock = $this->getMockBuilder(TeaRepository::class)->disableOriginalConstructor()->getMock();
$this->subject->injectTeaRepository($this->teaRepositoryMock);
$responseMock = $this->createMock(HtmlResponse::class);
$this->subject->method('htmlResponse')->willReturn($responseMock);
}