Optimized RequestManagement

This commit is contained in:
Kevin Frantz
2019-02-03 01:01:26 +01:00
parent bd2318ab5b
commit f3c2286a64
10 changed files with 109 additions and 23 deletions

View File

@@ -0,0 +1,64 @@
<?php
namespace Tests\Integration\Domain\ActionManagement\Create;
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\EntityFormBuilderServiceInterface;
use Symfony\Component\HttpFoundation\RequestStack;
use App\Domain\RepositoryManagement\LayerRepositoryFactoryServiceInterface;
use App\Domain\SecureManagement\SecureRequestedRightCheckerInterface;
use App\Entity\Source\PureSourceInterface;
use App\Domain\RequestManagement\Action\RequestedActionService;
use App\Domain\RequestManagement\Right\RequestedRightService;
use App\Domain\RequestManagement\Action\RequestedActionServiceInterface;
use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
use App\DBAL\Types\ActionType;
/**
* @author kevinfrantz
*/
class CreateSourceActionIntegrationTest extends KernelTestCase
{
/**
* @var CreateActionInterface
*/
private $createSourceAction;
/**
* @var ActionServiceInterface
*/
private $actionService;
/**
* @var RequestedActionServiceInterface
*/
private $requestedActionService;
// public function setUp(): void
// {
// self::bootKernel();
// $entityManager = static::$kernel->getContainer()->get('doctrine')->getManager();
// $requestedRightService = new RequestedRightService();
// $this->requestedActionService = new RequestedActionService($requestedRightService);
// $this->requestedActionService->setActionType(ActionType::CREATE);
// $entityFormBuilderService = $this->createMock(EntityFormBuilderServiceInterface::class);
// $requestStack = $this->createMock(RequestStack::class);
// $layerRepositoryFactoryService = $this->createMock(LayerRepositoryFactoryServiceInterface::class);
// $secureRequestedRightChecker = $this->createMock(SecureRequestedRightCheckerInterface::class);
// $this->actionService = new ActionService($this->requestedActionService, $secureRequestedRightChecker, $requestStack, $layerRepositoryFactoryService, $entityFormBuilderService, $entityManager);
// $this->createSourceAction = new CreateSourceAction($this->actionService);
// }
// public function testCreateWithGuestUser(): void
// {
// $this->requestedActionService->setReciever($reciever);
// $this->assertInstanceOf(PureSourceInterface::class, $this->createSourceAction->execute());
// }
// public function testCreatedWithKnownUser(): void
// {
// }
}

View File

@@ -11,6 +11,8 @@ use App\Domain\RequestManagement\Action\RequestedActionInterface;
use App\Domain\RequestManagement\Action\RequestedAction;
use App\Domain\RequestManagement\Right\RequestedRight;
use App\Domain\LayerManagement\LayerActionMap;
use App\Domain\RequestManagement\User\RequestedUser;
use App\Domain\UserManagement\UserSourceDirectorInterface;
/**
* @author kevinfrantz
@@ -35,7 +37,9 @@ class ActionFactoryServiceTest extends TestCase
public function setUp(): void
{
$requestedRight = new RequestedRight();
$this->requestedAction = new RequestedAction($requestedRight);
$userSourceDirector = $this->createMock(UserSourceDirectorInterface::class);
$requestedUser = new RequestedUser($userSourceDirector, $requestedRight);
$this->requestedAction = new RequestedAction($userSourceDirector, $requestedUser);
$this->actionService = $this->createMock(ActionServiceInterface::class);
$this->actionService->method('getRequestedAction')->willReturn($this->requestedAction);
$this->actionFactoryService = new ActionFactoryService($this->actionService);

View File

@@ -3,9 +3,10 @@
namespace tests\Unit\Domain\RequestManagement\Action;
use PHPUnit\Framework\TestCase;
use App\Domain\RequestManagement\Right\RequestedRightServiceInterface;
use App\Domain\RequestManagement\Action\RequestedActionService;
use App\Domain\RequestManagement\Action\RequestedActionServiceInterface;
use App\Domain\RequestManagement\User\RequestedUserServiceInterface;
use App\Domain\UserManagement\UserSourceDirectorInterface;
/**
* @author kevinfrantz
@@ -14,8 +15,9 @@ class RequestedActionServiceTest extends TestCase
{
public function testConstructorSet(): void
{
$requestedRightService = $this->createMock(RequestedRightServiceInterface::class);
$service = new RequestedActionService($requestedRightService);
$userSourceDirector = $this->createMock(UserSourceDirectorInterface::class);
$requestedUserService = $this->createMock(RequestedUserServiceInterface::class);
$service = new RequestedActionService($userSourceDirector, $requestedUserService);
$this->assertInstanceOf(RequestedActionServiceInterface::class, $service);
}
}

View File

@@ -11,6 +11,9 @@ use App\DBAL\Types\ActionType;
use App\DBAL\Types\Meta\Right\CRUDType;
use App\Repository\Source\SourceRepositoryInterface;
use App\DBAL\Types\Meta\Right\LayerType;
use App\Domain\UserManagement\UserSourceDirector;
use App\Domain\RequestManagement\User\RequestedUser;
use App\Entity\Source\Complex\UserSourceInterface;
/**
* @author kevinfrantz
@@ -34,9 +37,14 @@ class RequestedActionTest extends TestCase
*/
public function setUp(): void
{
$userSource = $this->createMock(UserSourceInterface::class);
$sourceRepository = $this->createMock(SourceRepositoryInterface::class);
$this->requestedRight = new RequestedRight($sourceRepository);
$this->action = new RequestedAction($this->requestedRight);
$sourceRepository->method('findOneBySlug')->willReturn($userSource);
$user = null;
$userSourceDirector = new UserSourceDirector($sourceRepository, $user);
$requestedRight = new RequestedRight();
$this->requestedRight = new RequestedUser($userSourceDirector, $requestedRight);
$this->action = new RequestedAction($userSourceDirector, $this->requestedRight);
}
public function testList(): void