Optimized RequestedActionFormBuilderService

This commit is contained in:
Kevin Frantz
2019-02-03 16:32:57 +01:00
parent 22c9a92853
commit d3379630c8
9 changed files with 109 additions and 51 deletions

View File

@@ -6,7 +6,6 @@ use App\Domain\ActionManagement\Create\CreateSourceAction;
use App\Domain\ActionManagement\ActionService;
use App\Domain\ActionManagement\Create\CreateActionInterface;
use App\Domain\ActionManagement\ActionServiceInterface;
use App\Domain\FormManagement\RequestedEntityFormBuilderServiceInterface;
use Symfony\Component\HttpFoundation\RequestStack;
use App\Domain\RepositoryManagement\LayerRepositoryFactoryServiceInterface;
use App\Domain\SecureManagement\SecureRequestedRightCheckerInterface;
@@ -19,6 +18,7 @@ use App\DBAL\Types\ActionType;
use App\Domain\RequestManagement\User\RequestedUserService;
use App\Domain\UserManagement\UserSourceDirectorService;
use Symfony\Component\Security\Core\Security;
use App\Domain\FormManagement\RequestedActionFormBuilderServiceInterface;
/**
* @todo Implement test and logic!!!!!
@@ -54,7 +54,7 @@ class CreateSourceActionIntegrationTest extends KernelTestCase
$requestedUserService = new RequestedUserService($userSourceDirectorService, $requestedRightService);
$this->requestedActionService = new RequestedActionService($userSourceDirectorService, $requestedUserService);
$this->requestedActionService->setActionType(ActionType::CREATE);
$entityFormBuilderService = $this->createMock(RequestedEntityFormBuilderServiceInterface::class);
$entityFormBuilderService = $this->createMock(RequestedActionFormBuilderServiceInterface::class);
$requestStack = $this->createMock(RequestStack::class);
$layerRepositoryFactoryService = $this->createMock(LayerRepositoryFactoryServiceInterface::class);
$secureRequestedRightChecker = $this->createMock(SecureRequestedRightCheckerInterface::class);

View File

@@ -7,7 +7,6 @@ use App\Domain\ActionManagement\ActionService;
use App\Domain\RequestManagement\Action\RequestedActionInterface;
use App\Domain\SecureManagement\SecureRequestedRightCheckerInterface;
use Doctrine\ORM\EntityManagerInterface;
use App\Domain\FormManagement\RequestedEntityFormBuilderServiceInterface;
use Symfony\Component\HttpFoundation\RequestStack;
use App\Domain\RepositoryManagement\LayerRepositoryFactoryServiceInterface;
use App\Domain\ActionManagement\ActionServiceInterface;
@@ -17,6 +16,7 @@ use App\Domain\RequestManagement\Entity\RequestedEntityInterface;
use PHPUnit\Framework\MockObject\MockObject;
use App\Entity\EntityInterface;
use Symfony\Component\Form\FormBuilderInterface;
use App\Domain\FormManagement\RequestedActionFormBuilderServiceInterface;
/**
* @author kevinfrantz
@@ -34,9 +34,9 @@ class ActionServiceTest extends TestCase
private $secureRequestedRightChecker;
/**
* @var RequestedEntityFormBuilderServiceInterface|MockObject
* @var RequestedActionFormBuilderServiceInterface|MockObject
*/
private $requestedEntityFormBuilderService;
private $requestedActionFormBuilderService;
/**
* @var RequestStack|MockObject
@@ -77,12 +77,13 @@ class ActionServiceTest extends TestCase
$this->requestedAction = $this->createMock(RequestedActionInterface::class);
$this->requestedAction->method('getRequestedEntity')->willReturn($this->requestedEntity);
$this->secureRequestedRightChecker = $this->createMock(SecureRequestedRightCheckerInterface::class);
$this->requestedEntityFormBuilderService = $this->createMock(RequestedEntityFormBuilderServiceInterface::class);
$this->requestedActionFormBuilderService = $this->createMock(RequestedActionFormBuilderServiceInterface::class);
$this->requestStack = $this->createMock(RequestStack::class);
$this->layerRepositoryFactoryService = $this->createMock(LayerRepositoryFactoryServiceInterface::class);
$this->entityManager = $this->createMock(EntityManagerInterface::class);
$this->actionService = new ActionService($this->requestedAction, $this->secureRequestedRightChecker, $this->requestStack, $this->layerRepositoryFactoryService, $this->requestedEntityFormBuilderService, $this->entityManager);
$this->actionService = new ActionService($this->requestedAction, $this->secureRequestedRightChecker, $this->requestStack, $this->layerRepositoryFactoryService, $this->requestedActionFormBuilderService, $this->entityManager);
}
public function testIsRequestedActionSecure(): void
@@ -120,7 +121,7 @@ class ActionServiceTest extends TestCase
public function testGetForm(): void
{
$form = $this->createMock(FormBuilderInterface::class);
$this->requestedEntityFormBuilderService->method('create')->willReturn($form);
$this->requestedActionFormBuilderService->method('createByService')->willReturn($form);
$result = $this->actionService->getForm();
$this->assertEquals($form, $result);
}

View File

@@ -7,12 +7,13 @@ use Symfony\Component\Form\FormBuilderInterface;
use App\Domain\FormManagement\FormClassNameServiceInterface;
use App\Domain\RequestManagement\Entity\RequestedEntityInterface;
use App\Entity\Source\PureSource;
use App\Domain\FormManagement\RequestedEntityFormBuilderService;
use App\Domain\FormManagement\RequestedActionFormBuilderService;
use App\Domain\RequestManagement\Action\RequestedActionServiceInterface;
/**
* @author kevinfrantz
*/
class EntityFormBuilderServiceTest extends TestCase
class RequestedActionFormBuilderServiceTest extends TestCase
{
/**
* Could be that this test includes a bit to much mocking -.-.
@@ -24,12 +25,15 @@ class EntityFormBuilderServiceTest extends TestCase
$formBuilder->method('create')->willReturn($expectedResult);
$formClassNameService = $this->createMock(FormClassNameServiceInterface::class);
$formClassNameService->method('getClass')->willReturn('dummyNamespace');
$entityFormBuilderService = new RequestedEntityFormBuilderService($formBuilder, $formClassNameService);
$entity = new PureSource();
$entityRequested = $this->createMock(RequestedEntityInterface::class);
$entityRequested->method('hasIdentity')->willReturn(true);
$entityRequested->method('getEntity')->willReturn($entity);
$result = $entityFormBuilderService->create($entityRequested);
$requestedEntity = $this->createMock(RequestedEntityInterface::class);
$requestedEntity->method('hasIdentity')->willReturn(true);
$requestedEntity->method('getEntity')->willReturn($entity);
$requestedAction = $this->createMock(RequestedActionServiceInterface::class);
$requestedAction->method('getRequestedEntity')->willReturn($requestedEntity);
$entityFormBuilderService = new RequestedActionFormBuilderService($formBuilder, $formClassNameService, $requestedAction);
$result = $entityFormBuilderService->create($requestedAction);
$this->assertEquals($expectedResult, $result);
$this->assertEquals($entityFormBuilderService->create($requestedAction), $entityFormBuilderService->createByService());
}
}