mirror of
https://github.com/kevinveenbirkenbach/infinito.git
synced 2025-04-16 02:06:23 +02:00
Renamed FormBuilder to FormFactory and implemented test draft for CreateSourceAction
This commit is contained in:
parent
0fcd4c93bd
commit
6347308672
@ -41,7 +41,7 @@ final class CreateSourceAction extends AbstractCreateAction
|
|||||||
*/
|
*/
|
||||||
protected function isValidByForm(): bool
|
protected function isValidByForm(): bool
|
||||||
{
|
{
|
||||||
$this->actionService->getForm();
|
return $this->actionService->getCurrentFormBuilder()->getForm()->isValid();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -4,6 +4,7 @@ namespace App\Domain\FormManagement;
|
|||||||
|
|
||||||
use Symfony\Component\Form\FormBuilderInterface;
|
use Symfony\Component\Form\FormBuilderInterface;
|
||||||
use App\Domain\RequestManagement\Action\RequestedActionInterface;
|
use App\Domain\RequestManagement\Action\RequestedActionInterface;
|
||||||
|
use Symfony\Component\Form\FormFactoryInterface;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author kevinfrantz
|
* @author kevinfrantz
|
||||||
@ -11,9 +12,9 @@ use App\Domain\RequestManagement\Action\RequestedActionInterface;
|
|||||||
class RequestedActionFormBuilder implements RequestedActionFormBuilderInterface
|
class RequestedActionFormBuilder implements RequestedActionFormBuilderInterface
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @var FormBuilderInterface
|
* @var FormFactoryInterface
|
||||||
*/
|
*/
|
||||||
private $formBuilder;
|
private $formFactory;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var FormClassNameServiceInterface
|
* @var FormClassNameServiceInterface
|
||||||
@ -21,12 +22,12 @@ class RequestedActionFormBuilder implements RequestedActionFormBuilderInterface
|
|||||||
private $formClassNameService;
|
private $formClassNameService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param FormBuilderInterface $formBuilder
|
* @param FormFactoryInterface $formFactory
|
||||||
* @param FormClassNameServiceInterface $formClassNameService
|
* @param FormClassNameServiceInterface $formClassNameService
|
||||||
*/
|
*/
|
||||||
public function __construct(FormBuilderInterface $formBuilder, FormClassNameServiceInterface $formClassNameService)
|
public function __construct(FormFactoryInterface $formFactory, FormClassNameServiceInterface $formClassNameService)
|
||||||
{
|
{
|
||||||
$this->formBuilder = $formBuilder;
|
$this->formFactory = $formFactory;
|
||||||
$this->formClassNameService = $formClassNameService;
|
$this->formClassNameService = $formClassNameService;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -44,7 +45,7 @@ class RequestedActionFormBuilder implements RequestedActionFormBuilderInterface
|
|||||||
if ($requestedEntity->hasIdentity()) {
|
if ($requestedEntity->hasIdentity()) {
|
||||||
$entity = $requestedEntity->getEntity();
|
$entity = $requestedEntity->getEntity();
|
||||||
}
|
}
|
||||||
$form = $this->formBuilder->create($class, $entity);
|
$form = $this->formFactory->createBuilder($class, $entity);
|
||||||
|
|
||||||
return $form;
|
return $form;
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,8 @@ namespace App\Domain\FormManagement;
|
|||||||
|
|
||||||
use Symfony\Component\Form\FormBuilderInterface;
|
use Symfony\Component\Form\FormBuilderInterface;
|
||||||
use App\Domain\RequestManagement\Action\RequestedActionServiceInterface;
|
use App\Domain\RequestManagement\Action\RequestedActionServiceInterface;
|
||||||
|
use FOS\UserBundle\Form\Factory\FormFactory;
|
||||||
|
use Symfony\Component\Form\FormFactoryInterface;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author kevinfrantz
|
* @author kevinfrantz
|
||||||
@ -20,9 +22,9 @@ final class RequestedActionFormBuilderService extends RequestedActionFormBuilder
|
|||||||
*
|
*
|
||||||
* @see \App\Domain\FormManagement\RequestedActionFormBuilder::__construct()
|
* @see \App\Domain\FormManagement\RequestedActionFormBuilder::__construct()
|
||||||
*/
|
*/
|
||||||
public function __construct(FormBuilderInterface $formBuilder, FormClassNameServiceInterface $formClassNameService, RequestedActionServiceInterface $requestedActionService)
|
public function __construct(FormFactoryInterface $formFactory, FormClassNameServiceInterface $formClassNameService, RequestedActionServiceInterface $requestedActionService)
|
||||||
{
|
{
|
||||||
parent::__construct($formBuilder, $formClassNameService);
|
parent::__construct($formFactory, $formClassNameService);
|
||||||
$this->requestedActionService = $requestedActionService;
|
$this->requestedActionService = $requestedActionService;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9,5 +9,9 @@ use App\Form\AbstractType;
|
|||||||
*/
|
*/
|
||||||
class SourceType extends AbstractType
|
class SourceType extends AbstractType
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* @deprecated
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
const CLASS_PARAMETER_NAME = 'class';
|
const CLASS_PARAMETER_NAME = 'class';
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,52 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace tests\Unit\Domain\ActionManagement\Create;
|
||||||
|
|
||||||
|
use PHPUnit\Framework\TestCase;
|
||||||
|
use App\Domain\ActionManagement\Create\CreateSourceAction;
|
||||||
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
|
use App\Entity\Source\PureSource;
|
||||||
|
use App\Attribut\ClassAttributInterface;
|
||||||
|
use App\Attribut\SlugAttributInterface;
|
||||||
|
use App\Entity\Source\PureSourceInterface;
|
||||||
|
use App\Domain\ActionManagement\ActionService;
|
||||||
|
use Doctrine\ORM\EntityManagerInterface;
|
||||||
|
use App\Domain\RequestManagement\Action\RequestedActionServiceInterface;
|
||||||
|
use App\Domain\SecureManagement\SecureRequestedRightCheckerInterface;
|
||||||
|
use Symfony\Component\HttpFoundation\RequestStack;
|
||||||
|
use App\Domain\RepositoryManagement\LayerRepositoryFactoryServiceInterface;
|
||||||
|
use App\Domain\FormManagement\RequestedActionFormBuilderServiceInterface;
|
||||||
|
use App\Form\Source\PureSourceType;
|
||||||
|
use Symfony\Component\Form\FormBuilderInterface;
|
||||||
|
use App\Form\Source\PureSourceTypeInterface;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author kevinfrantz
|
||||||
|
*/
|
||||||
|
class CreateSourceActionTest extends TestCase
|
||||||
|
{
|
||||||
|
public function testCreatePureSource(): void
|
||||||
|
{
|
||||||
|
$request = new Request();
|
||||||
|
$request->setMethod(Request::METHOD_POST);
|
||||||
|
$request->query->set(ClassAttributInterface::CLASS_ATTRIBUT_NAME, PureSource::class);
|
||||||
|
$request->request->set(SlugAttributInterface::SLUG_ATTRIBUT_NAME, 'randomname');
|
||||||
|
$requestedActionService = $this->createMock(RequestedActionServiceInterface::class);
|
||||||
|
$secureRequestedRightChecker = $this->createMock(SecureRequestedRightCheckerInterface::class);
|
||||||
|
$entityManager = $this->createMock(EntityManagerInterface::class);
|
||||||
|
$pureSourceType = $this->createMock(PureSourceTypeInterface::class);
|
||||||
|
$pureSourceType->method('isValid')->willReturn(true);
|
||||||
|
$formBuilderInterface = $this->createMock(FormBuilderInterface::class);
|
||||||
|
$formBuilderInterface->method('getForm')->willReturn($pureSourceType);
|
||||||
|
// $formBuilderInterface->method('isValid')->willReturn(true);
|
||||||
|
$requestedActionFormBuilderService = $this->createMock(RequestedActionFormBuilderServiceInterface::class);
|
||||||
|
$requestedActionFormBuilderService->method('createByService')->willReturn($formBuilderInterface);
|
||||||
|
$requestStack = $this->createMock(RequestStack::class);
|
||||||
|
$requestStack->method('getCurrentRequest')->willReturn($request);
|
||||||
|
$layerRepositoryFactoryService = $this->createMock(LayerRepositoryFactoryServiceInterface::class);
|
||||||
|
$actionService = new ActionService($requestedActionService, $secureRequestedRightChecker, $requestStack, $layerRepositoryFactoryService, $requestedActionFormBuilderService, $entityManager);
|
||||||
|
$createSourceAction = new CreateSourceAction($actionService);
|
||||||
|
$result = $createSourceAction->execute();
|
||||||
|
$this->assertInstanceOf(PureSourceInterface::class, $result);
|
||||||
|
}
|
||||||
|
}
|
@ -9,6 +9,7 @@ use App\Domain\RequestManagement\Entity\RequestedEntityInterface;
|
|||||||
use App\Entity\Source\PureSource;
|
use App\Entity\Source\PureSource;
|
||||||
use App\Domain\FormManagement\RequestedActionFormBuilderService;
|
use App\Domain\FormManagement\RequestedActionFormBuilderService;
|
||||||
use App\Domain\RequestManagement\Action\RequestedActionServiceInterface;
|
use App\Domain\RequestManagement\Action\RequestedActionServiceInterface;
|
||||||
|
use Symfony\Component\Form\FormFactoryInterface;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author kevinfrantz
|
* @author kevinfrantz
|
||||||
@ -20,9 +21,9 @@ class RequestedActionFormBuilderServiceTest extends TestCase
|
|||||||
*/
|
*/
|
||||||
public function testCreate(): void
|
public function testCreate(): void
|
||||||
{
|
{
|
||||||
$expectedResult = $this->createMock(FormBuilderInterface::class);
|
|
||||||
$formBuilder = $this->createMock(FormBuilderInterface::class);
|
$formBuilder = $this->createMock(FormBuilderInterface::class);
|
||||||
$formBuilder->method('create')->willReturn($expectedResult);
|
$formFactory = $this->createMock(FormFactoryInterface::class);
|
||||||
|
$formFactory->method('create')->willReturn($formBuilder);
|
||||||
$formClassNameService = $this->createMock(FormClassNameServiceInterface::class);
|
$formClassNameService = $this->createMock(FormClassNameServiceInterface::class);
|
||||||
$formClassNameService->method('getClass')->willReturn('dummyNamespace');
|
$formClassNameService->method('getClass')->willReturn('dummyNamespace');
|
||||||
$entity = new PureSource();
|
$entity = new PureSource();
|
||||||
@ -31,9 +32,11 @@ class RequestedActionFormBuilderServiceTest extends TestCase
|
|||||||
$requestedEntity->method('getEntity')->willReturn($entity);
|
$requestedEntity->method('getEntity')->willReturn($entity);
|
||||||
$requestedAction = $this->createMock(RequestedActionServiceInterface::class);
|
$requestedAction = $this->createMock(RequestedActionServiceInterface::class);
|
||||||
$requestedAction->method('getRequestedEntity')->willReturn($requestedEntity);
|
$requestedAction->method('getRequestedEntity')->willReturn($requestedEntity);
|
||||||
$entityFormBuilderService = new RequestedActionFormBuilderService($formBuilder, $formClassNameService, $requestedAction);
|
$entityFormBuilderService = new RequestedActionFormBuilderService($formFactory, $formClassNameService, $requestedAction);
|
||||||
$result = $entityFormBuilderService->create($requestedAction);
|
$result = $entityFormBuilderService->create($requestedAction);
|
||||||
$this->assertEquals($expectedResult, $result);
|
//$this->assertTrue(method_exists($result, 'isValid'));
|
||||||
|
$this->assertEquals($formBuilder, $result);
|
||||||
$this->assertEquals($entityFormBuilderService->create($requestedAction), $entityFormBuilderService->createByService());
|
$this->assertEquals($entityFormBuilderService->create($requestedAction), $entityFormBuilderService->createByService());
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user