mirror of
				https://github.com/kevinveenbirkenbach/infinito.git
				synced 2025-11-03 18:58:01 +00:00 
			
		
		
		
	Optimized RequestedEntityFormBuilderService and implemented form classes and logic
This commit is contained in:
		@@ -6,7 +6,7 @@ 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 App\Domain\FormManagement\RequestedEntityFormBuilderServiceInterface;
 | 
			
		||||
use Symfony\Component\HttpFoundation\RequestStack;
 | 
			
		||||
use App\Domain\RepositoryManagement\LayerRepositoryFactoryServiceInterface;
 | 
			
		||||
use App\Domain\SecureManagement\SecureRequestedRightCheckerInterface;
 | 
			
		||||
@@ -16,8 +16,13 @@ use App\Domain\RequestManagement\Right\RequestedRightService;
 | 
			
		||||
use App\Domain\RequestManagement\Action\RequestedActionServiceInterface;
 | 
			
		||||
use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
 | 
			
		||||
use App\DBAL\Types\ActionType;
 | 
			
		||||
use App\Domain\RequestManagement\User\RequestedUserService;
 | 
			
		||||
use App\Domain\UserManagement\UserSourceDirectorService;
 | 
			
		||||
use Symfony\Component\Security\Core\Security;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @todo Implement test and logic!!!!!
 | 
			
		||||
 *
 | 
			
		||||
 * @author kevinfrantz
 | 
			
		||||
 */
 | 
			
		||||
class CreateSourceActionIntegrationTest extends KernelTestCase
 | 
			
		||||
@@ -37,28 +42,31 @@ class CreateSourceActionIntegrationTest extends KernelTestCase
 | 
			
		||||
     */
 | 
			
		||||
    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 setUp(): void
 | 
			
		||||
    {
 | 
			
		||||
        self::bootKernel();
 | 
			
		||||
        $entityManager = static::$kernel->getContainer()
 | 
			
		||||
            ->get('doctrine')
 | 
			
		||||
            ->getManager();
 | 
			
		||||
        $security = $this->createMock(Security::class);
 | 
			
		||||
        $userSourceDirectorService = new UserSourceDirectorService($entityManager, $security);
 | 
			
		||||
        $requestedRightService = new RequestedRightService();
 | 
			
		||||
        $requestedUserService = new RequestedUserService($userSourceDirectorService, $requestedRightService);
 | 
			
		||||
        $this->requestedActionService = new RequestedActionService($userSourceDirectorService, $requestedUserService);
 | 
			
		||||
        $this->requestedActionService->setActionType(ActionType::CREATE);
 | 
			
		||||
        $entityFormBuilderService = $this->createMock(RequestedEntityFormBuilderServiceInterface::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 testCreateWithGuestUser(): void
 | 
			
		||||
    {
 | 
			
		||||
        $this->assertInstanceOf(PureSourceInterface::class, $this->createSourceAction->execute());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
//     public function testCreatedWithKnownUser(): void
 | 
			
		||||
//     {
 | 
			
		||||
//     }
 | 
			
		||||
//     {}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -7,7 +7,7 @@ use App\Domain\ActionManagement\ActionService;
 | 
			
		||||
use App\Domain\RequestManagement\Action\RequestedActionInterface;
 | 
			
		||||
use App\Domain\SecureManagement\SecureRequestedRightCheckerInterface;
 | 
			
		||||
use Doctrine\ORM\EntityManagerInterface;
 | 
			
		||||
use App\Domain\FormManagement\EntityFormBuilderServiceInterface;
 | 
			
		||||
use App\Domain\FormManagement\RequestedEntityFormBuilderServiceInterface;
 | 
			
		||||
use Symfony\Component\HttpFoundation\RequestStack;
 | 
			
		||||
use App\Domain\RepositoryManagement\LayerRepositoryFactoryServiceInterface;
 | 
			
		||||
use App\Domain\ActionManagement\ActionServiceInterface;
 | 
			
		||||
@@ -34,9 +34,9 @@ class ActionServiceTest extends TestCase
 | 
			
		||||
    private $secureRequestedRightChecker;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @var EntityFormBuilderServiceInterface|MockObject
 | 
			
		||||
     * @var RequestedEntityFormBuilderServiceInterface|MockObject
 | 
			
		||||
     */
 | 
			
		||||
    private $entityFormBuilderService;
 | 
			
		||||
    private $requestedEntityFormBuilderService;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @var RequestStack|MockObject
 | 
			
		||||
@@ -78,11 +78,11 @@ class ActionServiceTest extends TestCase
 | 
			
		||||
        $this->requestedAction = $this->createMock(RequestedActionInterface::class);
 | 
			
		||||
        $this->requestedAction->method('getRequestedEntity')->willReturn($this->requestedEntity);
 | 
			
		||||
        $this->secureRequestedRightChecker = $this->createMock(SecureRequestedRightCheckerInterface::class);
 | 
			
		||||
        $this->entityFormBuilderService = $this->createMock(EntityFormBuilderServiceInterface::class);
 | 
			
		||||
        $this->requestedEntityFormBuilderService = $this->createMock(RequestedEntityFormBuilderServiceInterface::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->entityFormBuilderService, $this->entityManager);
 | 
			
		||||
        $this->actionService = new ActionService($this->requestedAction, $this->secureRequestedRightChecker, $this->requestStack, $this->layerRepositoryFactoryService, $this->requestedEntityFormBuilderService, $this->entityManager);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function testIsRequestedActionSecure(): void
 | 
			
		||||
@@ -120,7 +120,7 @@ class ActionServiceTest extends TestCase
 | 
			
		||||
    public function testGetForm(): void
 | 
			
		||||
    {
 | 
			
		||||
        $form = $this->createMock(FormBuilderInterface::class);
 | 
			
		||||
        $this->entityFormBuilderService->method('create')->willReturn($form);
 | 
			
		||||
        $this->requestedEntityFormBuilderService->method('create')->willReturn($form);
 | 
			
		||||
        $result = $this->actionService->getForm();
 | 
			
		||||
        $this->assertEquals($form, $result);
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -3,10 +3,11 @@
 | 
			
		||||
namespace tests\Unit\Domain\FormManagement;
 | 
			
		||||
 | 
			
		||||
use PHPUnit\Framework\TestCase;
 | 
			
		||||
use App\Domain\FormManagement\EntityFormBuilderService;
 | 
			
		||||
use Symfony\Component\Form\FormBuilderInterface;
 | 
			
		||||
use App\Domain\FormManagement\FormClassNameServiceInterface;
 | 
			
		||||
use App\Entity\EntityInterface;
 | 
			
		||||
use App\Domain\RequestManagement\Entity\RequestedEntityInterface;
 | 
			
		||||
use App\Entity\Source\PureSource;
 | 
			
		||||
use App\Domain\FormManagement\RequestedEntityFormBuilderService;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @author kevinfrantz
 | 
			
		||||
@@ -22,10 +23,13 @@ class EntityFormBuilderServiceTest extends TestCase
 | 
			
		||||
        $formBuilder = $this->createMock(FormBuilderInterface::class);
 | 
			
		||||
        $formBuilder->method('create')->willReturn($expectedResult);
 | 
			
		||||
        $formClassNameService = $this->createMock(FormClassNameServiceInterface::class);
 | 
			
		||||
        $formClassNameService->method('getName')->willReturn('dummyNamespace');
 | 
			
		||||
        $entityFormBuilderService = new EntityFormBuilderService($formBuilder, $formClassNameService);
 | 
			
		||||
        $entity = $this->createMock(EntityInterface::class);
 | 
			
		||||
        $result = $entityFormBuilderService->create($entity);
 | 
			
		||||
        $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);
 | 
			
		||||
        $this->assertEquals($expectedResult, $result);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -13,9 +13,9 @@ class FormClassNameServiceTest extends TestCase
 | 
			
		||||
{
 | 
			
		||||
    public function testGetName()
 | 
			
		||||
    {
 | 
			
		||||
        $entity = new PureSource();
 | 
			
		||||
        $entityClass = PureSource::class;
 | 
			
		||||
        $formNameService = new FormClassNameService();
 | 
			
		||||
        $entityForm = $formNameService->getName($entity);
 | 
			
		||||
        $entityForm = $formNameService->getClass($entityClass);
 | 
			
		||||
        $this->assertEquals('App\\Form\\Source\\PureSourceType', $entityForm);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user