Skip to content

Commit 6580c4a

Browse files
Add test
1 parent 2585de3 commit 6580c4a

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

src/Symfony/Tests/Validator/Metadata/Property/ValidatorPropertyMetadataFactoryTest.php

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
use Prophecy\PhpUnit\ProphecyTrait;
5050
use Symfony\Component\PropertyInfo\Type as LegacyType;
5151
use Symfony\Component\TypeInfo\Type;
52+
use Symfony\Component\Validator\Constraints\GroupSequence;
5253
use Symfony\Component\Validator\Constraints\Hostname;
5354
use Symfony\Component\Validator\Constraints\Ulid;
5455
use Symfony\Component\Validator\Mapping\ClassMetadata;
@@ -198,6 +199,29 @@ public function testCreateWithPropertyWithRightValidationGroupsAndRequiredConstr
198199
$this->assertEquals($expectedPropertyMetadata, $resultedPropertyMetadata);
199200
}
200201

202+
public function testCreateWithPropertyWithGroupSequenceValidationGroupsAndRequiredConstraints(): void
203+
{
204+
$propertyMetadata = (new ApiProperty())->withDescription('A dummy group')->withReadable(true)->withWritable(true);
205+
$expectedPropertyMetadata = $propertyMetadata->withRequired(true);
206+
207+
$groups = [new GroupSequence(['dummy'])];
208+
209+
$decoratedPropertyMetadataFactory = $this->prophesize(PropertyMetadataFactoryInterface::class);
210+
$decoratedPropertyMetadataFactory->create(DummyValidatedEntity::class, 'dummyGroup', ['validation_groups' => $groups])->willReturn($propertyMetadata)->shouldBeCalled();
211+
212+
$validatorMetadataFactory = $this->prophesize(MetadataFactoryInterface::class);
213+
$validatorMetadataFactory->getMetadataFor(DummyValidatedEntity::class)->willReturn($this->validatorClassMetadata)->shouldBeCalled();
214+
215+
$validatorPropertyMetadataFactory = new ValidatorPropertyMetadataFactory(
216+
$validatorMetadataFactory->reveal(),
217+
$decoratedPropertyMetadataFactory->reveal(),
218+
[]
219+
);
220+
$resultedPropertyMetadata = $validatorPropertyMetadataFactory->create(DummyValidatedEntity::class, 'dummyGroup', ['validation_groups' => $groups]);
221+
222+
$this->assertEquals($expectedPropertyMetadata, $resultedPropertyMetadata);
223+
}
224+
201225
public function testCreateWithPropertyWithBadValidationGroupsAndRequiredConstraints(): void
202226
{
203227
$propertyMetadata = (new ApiProperty())->withDescription('A dummy group')->withReadable(true)->withWritable(true);

0 commit comments

Comments
 (0)