From c930d5cf4e928095343b6ff3cfe3a5acdc5e5cbd Mon Sep 17 00:00:00 2001 From: core23 Date: Wed, 7 Aug 2019 17:59:50 +0200 Subject: [PATCH 1/2] [MINOR] Use new block signatures --- .../Service/ShariffShareBlockService.php | 24 ++++++++++++++----- .../Service/ShariffShareBlockServiceTest.php | 12 +++++----- 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/src/Block/Service/ShariffShareBlockService.php b/src/Block/Service/ShariffShareBlockService.php index 744cbdfb..5468592d 100644 --- a/src/Block/Service/ShariffShareBlockService.php +++ b/src/Block/Service/ShariffShareBlockService.php @@ -11,18 +11,21 @@ namespace Core23\ShariffBundle\Block\Service; -use Sonata\AdminBundle\Form\FormMapper; use Sonata\BlockBundle\Block\BlockContextInterface; -use Sonata\BlockBundle\Block\Service\AbstractAdminBlockService; +use Sonata\BlockBundle\Block\Service\AbstractBlockService; +use Sonata\BlockBundle\Block\Service\EditableBlockService; +use Sonata\BlockBundle\Form\Mapper\FormMapper; use Sonata\BlockBundle\Meta\Metadata; +use Sonata\BlockBundle\Meta\MetadataInterface; use Sonata\BlockBundle\Model\BlockInterface; use Sonata\Form\Type\ImmutableArrayType; +use Sonata\Form\Validator\ErrorElement; use Symfony\Component\Form\Extension\Core\Type\ChoiceType; use Symfony\Component\Form\Extension\Core\Type\TextType; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\OptionsResolver\OptionsResolver; -final class ShariffShareBlockService extends AbstractAdminBlockService +final class ShariffShareBlockService extends AbstractBlockService implements EditableBlockService { public function execute(BlockContextInterface $blockContext, Response $response = null) { @@ -35,7 +38,12 @@ public function execute(BlockContextInterface $blockContext, Response $response return $this->renderResponse($blockContext->getTemplate(), $parameters, $response); } - public function buildEditForm(FormMapper $formMapper, BlockInterface $block): void + public function configureCreateForm(FormMapper $form, BlockInterface $block): void + { + $this->configureEditForm($form, $block); + } + + public function configureEditForm(FormMapper $formMapper, BlockInterface $block): void { $formMapper->add('settings', ImmutableArrayType::class, [ 'keys' => [ @@ -108,9 +116,13 @@ public function configureSettings(OptionsResolver $resolver): void ]); } - public function getBlockMetadata($code = null) + public function validate(ErrorElement $errorElement, BlockInterface $block): void + { + } + + public function getMetadata(): MetadataInterface { - return new Metadata($this->getName(), $code ?? $this->getName(), null, 'Core23ShariffBundle', [ + return new Metadata($this->getName(), null, null, 'Core23ShariffBundle', [ 'class' => 'fa fa-share-square-o', ]); } diff --git a/tests/Block/Service/ShariffShareBlockServiceTest.php b/tests/Block/Service/ShariffShareBlockServiceTest.php index 7ad16f23..cf7e3503 100755 --- a/tests/Block/Service/ShariffShareBlockServiceTest.php +++ b/tests/Block/Service/ShariffShareBlockServiceTest.php @@ -12,11 +12,11 @@ namespace Core23\ShariffBundle\Tests\Block\Service; use Core23\ShariffBundle\Block\Service\ShariffShareBlockService; -use Sonata\AdminBundle\Form\FormMapper; use Sonata\BlockBundle\Block\BlockContext; +use Sonata\BlockBundle\Form\Mapper\FormMapper; use Sonata\BlockBundle\Model\Block; use Sonata\BlockBundle\Model\BlockInterface; -use Sonata\BlockBundle\Test\AbstractBlockServiceTestCase; +use Sonata\BlockBundle\Test\BlockServiceTestCase; final class ShariffShareBlockServiceTest extends AbstractBlockServiceTestCase { @@ -62,11 +62,11 @@ public function testExecute(): void static::assertInstanceOf(BlockInterface::class, $this->templating->parameters['block']); } - public function testGetBlockMetadata(): void + public function testGetMetadata(): void { $blockService = new ShariffShareBlockService('block.service', $this->templating); - $metadata = $blockService->getBlockMetadata('description'); + $metadata = $blockService->getMetadata(); static::assertSame('block.service', $metadata->getTitle()); static::assertSame('description', $metadata->getDescription()); @@ -78,7 +78,7 @@ public function testGetBlockMetadata(): void ], $metadata->getOptions()); } - public function testBuildEditForm(): void + public function testConfigureEditForm(): void { $blockService = new ShariffShareBlockService('block.service', $this->templating); @@ -87,6 +87,6 @@ public function testBuildEditForm(): void $formMapper = $this->createMock(FormMapper::class); $formMapper->expects(static::once())->method('add'); - $blockService->buildEditForm($formMapper, $block); + $blockService->configureEditForm($formMapper, $block); } } From 183343bcf48351803332fba90a6e74f50e44d890 Mon Sep 17 00:00:00 2001 From: core23 Date: Wed, 7 Aug 2019 17:59:58 +0200 Subject: [PATCH 2/2] [TEST] Fixed deprecations in tests --- tests/Block/Service/ShariffShareBlockServiceTest.php | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/tests/Block/Service/ShariffShareBlockServiceTest.php b/tests/Block/Service/ShariffShareBlockServiceTest.php index cf7e3503..1294ba5c 100755 --- a/tests/Block/Service/ShariffShareBlockServiceTest.php +++ b/tests/Block/Service/ShariffShareBlockServiceTest.php @@ -18,7 +18,7 @@ use Sonata\BlockBundle\Model\BlockInterface; use Sonata\BlockBundle\Test\BlockServiceTestCase; -final class ShariffShareBlockServiceTest extends AbstractBlockServiceTestCase +final class ShariffShareBlockServiceTest extends BlockServiceTestCase { public function testDefaultSettings(): void { @@ -58,7 +58,7 @@ public function testExecute(): void static::assertSame('@Core23Shariff/Block/block_shariff.html.twig', $this->templating->view); static::assertSame($blockContext, $this->templating->parameters['context']); - static::assertInternalType('array', $this->templating->parameters['settings']); + static::assertIsArray($this->templating->parameters['settings']); static::assertInstanceOf(BlockInterface::class, $this->templating->parameters['block']); } @@ -69,7 +69,6 @@ public function testGetMetadata(): void $metadata = $blockService->getMetadata(); static::assertSame('block.service', $metadata->getTitle()); - static::assertSame('description', $metadata->getDescription()); static::assertNotNull($metadata->getImage()); static::assertStringStartsWith('data:image/png;base64,', $metadata->getImage() ?? ''); static::assertSame('Core23ShariffBundle', $metadata->getDomain());