mirror of
				https://github.com/kevinveenbirkenbach/infinito.git
				synced 2025-11-04 03:07:58 +00:00 
			
		
		
		
	Renamed FormBuilder to FormFactory and implemented test draft for CreateSourceAction
This commit is contained in:
		@@ -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\Domain\FormManagement\RequestedActionFormBuilderService;
 | 
			
		||||
use App\Domain\RequestManagement\Action\RequestedActionServiceInterface;
 | 
			
		||||
use Symfony\Component\Form\FormFactoryInterface;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @author kevinfrantz
 | 
			
		||||
@@ -20,9 +21,9 @@ class RequestedActionFormBuilderServiceTest extends TestCase
 | 
			
		||||
     */
 | 
			
		||||
    public function testCreate(): void
 | 
			
		||||
    {
 | 
			
		||||
        $expectedResult = $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->method('getClass')->willReturn('dummyNamespace');
 | 
			
		||||
        $entity = new PureSource();
 | 
			
		||||
@@ -31,9 +32,11 @@ class RequestedActionFormBuilderServiceTest extends TestCase
 | 
			
		||||
        $requestedEntity->method('getEntity')->willReturn($entity);
 | 
			
		||||
        $requestedAction = $this->createMock(RequestedActionServiceInterface::class);
 | 
			
		||||
        $requestedAction->method('getRequestedEntity')->willReturn($requestedEntity);
 | 
			
		||||
        $entityFormBuilderService = new RequestedActionFormBuilderService($formBuilder, $formClassNameService, $requestedAction);
 | 
			
		||||
        $entityFormBuilderService = new RequestedActionFormBuilderService($formFactory, $formClassNameService, $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());
 | 
			
		||||
        
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user