Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. ConstraintValidatorTestCase.php

function ConstraintValidatorTestCase::createContext

3 calls to ConstraintValidatorTestCase::createContext()
ConstraintValidatorTestCase::expectViolationsAt in vendor/symfony/validator/Test/ConstraintValidatorTestCase.php
ConstraintValidatorTestCase::setRoot in vendor/symfony/validator/Test/ConstraintValidatorTestCase.php
ConstraintValidatorTestCase::setUp in vendor/symfony/validator/Test/ConstraintValidatorTestCase.php
This method is called before each test.

File

vendor/symfony/validator/Test/ConstraintValidatorTestCase.php, line 123

Class

ConstraintValidatorTestCase
A test case to ease testing Constraint Validators.

Namespace

Symfony\Component\Validator\Test

Code

protected function createContext() {
    $translator = $this->createMock(TranslatorInterface::class);
    $translator->expects($this->any())
        ->method('trans')
        ->willReturnArgument(0);
    $validator = $this->createMock(ValidatorInterface::class);
    $validator->expects($this->any())
        ->method('validate')
        ->willReturnCallback(fn() => $this->expectedViolations[$this->call++] ?? new ConstraintViolationList());
    $context = new ExecutionContext($validator, $this->root, $translator);
    $context->setGroup($this->group);
    $context->setNode($this->value, $this->object, $this->metadata, $this->propertyPath);
    $context->setConstraint($this->constraint);
    $contextualValidatorMockBuilder = $this->getMockBuilder(AssertingContextualValidator::class)
        ->setConstructorArgs([
        $context,
    ]);
    $contextualValidatorMethods = [
        'atPath',
        'validate',
        'validateProperty',
        'validatePropertyValue',
        'getViolations',
    ];
    $contextualValidatorMockBuilder->onlyMethods($contextualValidatorMethods);
    $contextualValidator = $contextualValidatorMockBuilder->getMock();
    $contextualValidator->expects($this->any())
        ->method('atPath')
        ->willReturnCallback(fn($path) => $contextualValidator->doAtPath($path));
    $contextualValidator->expects($this->any())
        ->method('validate')
        ->willReturnCallback(fn($value, $constraints = null, $groups = null) => $contextualValidator->doValidate($value, $constraints, $groups));
    $contextualValidator->expects($this->any())
        ->method('validateProperty')
        ->willReturnCallback(fn($object, $propertyName, $groups = null) => $contextualValidator->validateProperty($object, $propertyName, $groups));
    $contextualValidator->expects($this->any())
        ->method('validatePropertyValue')
        ->willReturnCallback(fn($objectOrClass, $propertyName, $value, $groups = null) => $contextualValidator->doValidatePropertyValue($objectOrClass, $propertyName, $value, $groups));
    $contextualValidator->expects($this->any())
        ->method('getViolations')
        ->willReturnCallback(fn() => $contextualValidator->doGetViolations());
    $validator->expects($this->any())
        ->method('inContext')
        ->with($context)
        ->willReturn($contextualValidator);
    return $context;
}
RSS feed
Powered by Drupal