Skip to content
This repository has been archived by the owner on Feb 26, 2023. It is now read-only.

Commit

Permalink
[MINOR] Use new block signatures (#14)
Browse files Browse the repository at this point in the history
  • Loading branch information
kodiakhq[bot] committed Aug 7, 2019
2 parents 1a1c3b9 + 183343b commit c9508cb
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 15 deletions.
24 changes: 18 additions & 6 deletions src/Block/Service/ShariffShareBlockService.php
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
Expand All @@ -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' => [
Expand Down Expand Up @@ -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',
]);
}
Expand Down
17 changes: 8 additions & 9 deletions tests/Block/Service/ShariffShareBlockServiceTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,13 @@
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
final class ShariffShareBlockServiceTest extends BlockServiceTestCase
{
public function testDefaultSettings(): void
{
Expand Down Expand Up @@ -58,18 +58,17 @@ 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']);
}

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());
static::assertNotNull($metadata->getImage());
static::assertStringStartsWith('data:image/png;base64,', $metadata->getImage() ?? '');
static::assertSame('Core23ShariffBundle', $metadata->getDomain());
Expand All @@ -78,7 +77,7 @@ public function testGetBlockMetadata(): void
], $metadata->getOptions());
}

public function testBuildEditForm(): void
public function testConfigureEditForm(): void
{
$blockService = new ShariffShareBlockService('block.service', $this->templating);

Expand All @@ -87,6 +86,6 @@ public function testBuildEditForm(): void
$formMapper = $this->createMock(FormMapper::class);
$formMapper->expects(static::once())->method('add');

$blockService->buildEditForm($formMapper, $block);
$blockService->configureEditForm($formMapper, $block);
}
}

0 comments on commit c9508cb

Please sign in to comment.