From b22098659408dcd988084ba696e1ba9fae972f6e Mon Sep 17 00:00:00 2001 From: Ryan Weaver Date: Sun, 16 Apr 2023 12:47:28 -0400 Subject: [PATCH] Fixing Twig test --- src/LiveComponent/tests/Fixtures/Kernel.php | 3 +++ .../TestingDeterministicIdTwigExtension.php | 26 +++++++++++++++++++ .../DeterministicTwigIdCalculatorTest.php | 22 ++-------------- 3 files changed, 31 insertions(+), 20 deletions(-) create mode 100644 src/LiveComponent/tests/Fixtures/TestingDeterministicIdTwigExtension.php diff --git a/src/LiveComponent/tests/Fixtures/Kernel.php b/src/LiveComponent/tests/Fixtures/Kernel.php index 0e05bd7bff0..9910b0a0425 100644 --- a/src/LiveComponent/tests/Fixtures/Kernel.php +++ b/src/LiveComponent/tests/Fixtures/Kernel.php @@ -26,6 +26,7 @@ use Symfony\UX\TwigComponent\TwigComponentBundle; use Twig\Environment; use Zenstruck\Foundry\ZenstruckFoundryBundle; +use function Symfony\Component\DependencyInjection\Loader\Configurator\service; /** * @author Kevin Bond @@ -112,6 +113,8 @@ protected function configureContainer(ContainerConfigurator $c): void ->set(MoneyNormalizer::class)->autoconfigure()->autowire() ->set(Entity2Normalizer::class)->autoconfigure()->autowire() ->load(__NAMESPACE__.'\\Component\\', __DIR__.'/Component') + ->set(TestingDeterministicIdTwigExtension::class) + ->args([service('ux.live_component.deterministic_id_calculator')]) ; } diff --git a/src/LiveComponent/tests/Fixtures/TestingDeterministicIdTwigExtension.php b/src/LiveComponent/tests/Fixtures/TestingDeterministicIdTwigExtension.php new file mode 100644 index 00000000000..f0d5b2fa89a --- /dev/null +++ b/src/LiveComponent/tests/Fixtures/TestingDeterministicIdTwigExtension.php @@ -0,0 +1,26 @@ +deterministicIdCalculator->calculateDeterministicId(); + } +} diff --git a/src/LiveComponent/tests/Integration/Twig/DeterministicTwigIdCalculatorTest.php b/src/LiveComponent/tests/Integration/Twig/DeterministicTwigIdCalculatorTest.php index b74f4e6c6a2..8aff9fcb707 100644 --- a/src/LiveComponent/tests/Integration/Twig/DeterministicTwigIdCalculatorTest.php +++ b/src/LiveComponent/tests/Integration/Twig/DeterministicTwigIdCalculatorTest.php @@ -21,28 +21,10 @@ final class DeterministicTwigIdCalculatorTest extends KernelTestCase { public function testReturnsDeterministicId(): void { - $deterministicIdCalculator = new DeterministicTwigIdCalculator(); - $twigExtension = new class($deterministicIdCalculator) extends AbstractExtension { - public function __construct(private DeterministicTwigIdCalculator $deterministicIdCalculator) - { - } - - public function getFunctions(): array - { - return [ - new TwigFunction('get_id_for_test', [$this, 'getIdForTest']), - ]; - } - - public function getIdForTest(): string - { - return $this->deterministicIdCalculator->calculateDeterministicId(); - } - }; - /** @var Environment $twig */ $twig = self::getContainer()->get('twig'); - $twig->addExtension($twigExtension); + /** @var DeterministicTwigIdCalculator $deterministicIdCalculator */ + $deterministicIdCalculator = self::getContainer()->get('ux.live_component.deterministic_id_calculator'); $rendered = $twig->render('deterministic_id.html.twig'); $this->assertStringContainsString('Deterministic Id Line1-1: "live-3860148629-0"', $rendered);