Neos\Flow\Tests\Unit\Validation\ValidatorResolverTest::buildBaseValidatorConjunctionAddsCustomValidatorToTheReturnedConjunction PHP Method

buildBaseValidatorConjunctionAddsCustomValidatorToTheReturnedConjunction() public method

    public function buildBaseValidatorConjunctionAddsCustomValidatorToTheReturnedConjunction()
    {
        $modelClassName = 'Page' . md5(uniqid(mt_rand(), true));
        $validatorClassName = 'Domain\\Validator\\Content\\' . $modelClassName . 'Validator';
        eval('namespace Domain\\Model\\Content; class ' . $modelClassName . '{}');
        $modelClassName = 'Domain\\Model\\Content\\' . $modelClassName;
        $mockReflectionService = $this->createMock(ReflectionService::class);
        $mockReflectionService->expects($this->any())->method('getClassPropertyNames')->will($this->returnValue([]));
        $mockObjectManager = $this->createMock(ObjectManagerInterface::class);
        $mockObjectManager->expects($this->any())->method('get')->with(ReflectionService::class)->will($this->returnValue($mockReflectionService));
        $validatorResolver = $this->getAccessibleMock(ValidatorResolver::class, ['resolveValidatorObjectName', 'createValidator']);
        $validatorResolver->_set('reflectionService', $mockReflectionService);
        $validatorResolver->_set('objectManager', $mockObjectManager);
        $validatorResolver->expects($this->once())->method('createValidator')->with($validatorClassName)->will($this->returnValue(new EmailAddressValidator()));
        $mockReflectionService->expects($this->any())->method('getAllImplementationClassNamesForInterface')->with(PolyTypeObjectValidatorInterface::class)->will($this->returnValue([]));
        $validatorResolver->_call('buildBaseValidatorConjunction', $modelClassName, $modelClassName, ['Default']);
        $builtValidators = $validatorResolver->_get('baseValidatorConjunctions');
        $this->assertFalse($builtValidators[$modelClassName]->validate('[email protected]')->hasErrors());
        $this->assertTrue($builtValidators[$modelClassName]->validate('foo')->hasErrors());
    }
ValidatorResolverTest