public function testCreateWithPropertyWithRightValidationGroupsAndRequiredConstraints()
{
$propertyMetadata = new PropertyMetadata(null, 'A dummy group', true, true, null, null, null, false);
$expectedPropertyMetadata = $propertyMetadata->withRequired(true);
$decoratedPropertyMetadataFactory = $this->prophesize(PropertyMetadataFactoryInterface::class);
$decoratedPropertyMetadataFactory->create(DummyValidatedEntity::class, 'dummyGroup', ['validation_groups' => ['dummy']])->willReturn($propertyMetadata)->shouldBeCalled();
$validatorMetadataFactory = $this->prophesize(MetadataFactoryInterface::class);
$validatorMetadataFactory->getMetadataFor(DummyValidatedEntity::class)->willReturn($this->validatorClassMetadata)->shouldBeCalled();
$validatorPropertyMetadataFactory = new ValidatorPropertyMetadataFactory($validatorMetadataFactory->reveal(), $decoratedPropertyMetadataFactory->reveal());
$resultedPropertyMetadata = $validatorPropertyMetadataFactory->create(DummyValidatedEntity::class, 'dummyGroup', ['validation_groups' => ['dummy']]);
$this->assertInstanceOf(PropertyMetadata::class, $resultedPropertyMetadata);
$this->assertEquals($expectedPropertyMetadata, $resultedPropertyMetadata);
}