diff --git a/Classes/ViewHelpers/ShownTrackingObjectsViewHelper.php b/Classes/ViewHelpers/ShownTrackingObjectsViewHelper.php index 4782fc771..6ffd2c42f 100644 --- a/Classes/ViewHelpers/ShownTrackingObjectsViewHelper.php +++ b/Classes/ViewHelpers/ShownTrackingObjectsViewHelper.php @@ -36,6 +36,11 @@ public static function renderStatic( $group = $arguments['group'] ?? $renderChildrenClosure(); $settings = $renderingContext->getVariableProvider()->get('settings'); + return self::shownTrackingObjects($group, $settings); + } + + public static function shownTrackingObjects(array $group, array $settings): array + { $rows = []; foreach ($group['trackingObjects'] ?? [] as $trackingObjectId) { $rows += $settings['trackingObjects'][$trackingObjectId]['show'] ?? []; diff --git a/Tests/Unit/ShownTrackingObjectsViewHelperTest.php b/Tests/Unit/ShownTrackingObjectsViewHelperTest.php index 6966ddb72..944af54d6 100644 --- a/Tests/Unit/ShownTrackingObjectsViewHelperTest.php +++ b/Tests/Unit/ShownTrackingObjectsViewHelperTest.php @@ -14,10 +14,10 @@ use Dmind\Cookieman\ViewHelpers\ShownTrackingObjectsViewHelper; use PHPUnit\Framework\MockObject\MockObject; use Prophecy\PhpUnit\ProphecyTrait; -use TYPO3\TestingFramework\Fluid\Unit\ViewHelpers\ViewHelperBaseTestcase; +use TYPO3\TestingFramework\Core\Unit\UnitTestCase; use TYPO3Fluid\Fluid\Core\Variables\StandardVariableProvider; -class ShownTrackingObjectsViewHelperTest extends ViewHelperBaseTestcase +class ShownTrackingObjectsViewHelperTest extends UnitTestCase { use ProphecyTrait; @@ -32,14 +32,6 @@ class ShownTrackingObjectsViewHelperTest extends ViewHelperBaseTestcase */ protected $templateVariableContainer; - protected function setUp(): void - { - parent::setUp(); - - $this->viewHelper = new ShownTrackingObjectsViewHelper(); - $this->injectDependenciesIntoViewHelper($this->viewHelper); - } - /** * @dataProvider settingsProvider * @test @@ -48,57 +40,15 @@ protected function setUp(): void */ public function trackingObjectsByParameter(array $settings, array $expected): void { - $this->templateVariableContainer->expects(self::once()) - ->method('get')->with('settings') - ->willReturn( - $settings - ); - $this->renderingContext->injectViewHelperVariableContainer($this->viewHelperVariableContainer->reveal()); - - $this->setArgumentsUnderTest( - $this->viewHelper, - [ - 'group' => $settings['groups']['mandatory'], - ] + $result = ShownTrackingObjectsViewHelper::shownTrackingObjects( + $settings['groups']['mandatory'], + $settings ); - $actual = $this->viewHelper->initializeArgumentsAndRender(); - self::assertEquals($expected, $actual); + self::assertSame($expected, $result); } - /** - * @dataProvider settingsProvider - * @test - * @param array $settings - * @param array $expected - */ - public function trackingObjectsByChildren(array $settings, array $expected) - { - $this->templateVariableContainer->expects(self::once()) - ->method('get')->with('settings') - ->willReturn( - $settings - ); - $this->renderingContext->injectViewHelperVariableContainer($this->viewHelperVariableContainer->reveal()); - - $this->viewHelper->setRenderChildrenClosure( - function () use ($settings) { - return $settings['groups']['mandatory']; - } - ); - - $this->setArgumentsUnderTest( - $this->viewHelper, - [ - 'group' => $settings['groups']['mandatory'], - ] - ); - $actual = $this->viewHelper->initializeArgumentsAndRender(); - - self::assertEquals($expected, $actual); - } - - public function settingsProvider() + public function settingsProvider(): array { $_tests[] = [ 0 => [ @@ -162,4 +112,11 @@ public function settingsProvider() return $_tests; } + + protected function setUp(): void + { + parent::setUp(); + + $this->viewHelper = new ShownTrackingObjectsViewHelper(); + } }