14
14
use PHPUnit \Framework \TestCase ;
15
15
use Symfony \Bridge \Doctrine \Test \DoctrineTestHelper ;
16
16
use Symfony \Bridge \Doctrine \Tests \Fixtures \BaseUser ;
17
+ use Symfony \Bridge \Doctrine \Tests \Fixtures \DoctrineLoaderEmbed ;
17
18
use Symfony \Bridge \Doctrine \Tests \Fixtures \DoctrineLoaderEntity ;
18
19
use Symfony \Bridge \Doctrine \Validator \Constraints \UniqueEntity ;
19
20
use Symfony \Bridge \Doctrine \Validator \DoctrineLoader ;
20
21
use Symfony \Component \Validator \Constraints \Length ;
22
+ use Symfony \Component \Validator \Mapping \CascadingStrategy ;
21
23
use Symfony \Component \Validator \Mapping \ClassMetadata ;
24
+ use Symfony \Component \Validator \Mapping \TraversalStrategy ;
22
25
use Symfony \Component \Validator \Tests \Fixtures \Entity ;
23
26
use Symfony \Component \Validator \Validation ;
24
27
use Symfony \Component \Validator \ValidatorBuilder ;
@@ -36,7 +39,7 @@ public function testLoadClassMetadata()
36
39
37
40
$ validator = Validation::createValidatorBuilder ()
38
41
->enableAnnotationMapping ()
39
- ->addLoader (new DoctrineLoader (DoctrineTestHelper::createTestEntityManager (), '{^Symfony \\\\Bridge \\\\Doctrine \\\\Tests \\\\Fixtures \\\\DoctrineLoaderEntity$ } ' ))
42
+ ->addLoader (new DoctrineLoader (DoctrineTestHelper::createTestEntityManager (), '{^Symfony \\\\Bridge \\\\Doctrine \\\\Tests \\\\Fixtures \\\\DoctrineLoader } ' ))
40
43
->getValidator ()
41
44
;
42
45
@@ -71,6 +74,20 @@ public function testLoadClassMetadata()
71
74
$ this ->assertInstanceOf (Length::class, $ alreadyMappedMaxLengthConstraints [0 ]);
72
75
$ this ->assertSame (10 , $ alreadyMappedMaxLengthConstraints [0 ]->max );
73
76
$ this ->assertSame (1 , $ alreadyMappedMaxLengthConstraints [0 ]->min );
77
+
78
+ $ embeddedMetadata = $ classMetadata ->getPropertyMetadata ('embedded ' );
79
+ $ this ->assertCount (1 , $ embeddedMetadata );
80
+ $ this ->assertSame (CascadingStrategy::CASCADE , $ embeddedMetadata [0 ]->getCascadingStrategy ());
81
+ $ this ->assertSame (TraversalStrategy::IMPLICIT , $ embeddedMetadata [0 ]->getTraversalStrategy ());
82
+
83
+ $ embeddedClassMetadata = $ validator ->getMetadataFor (new DoctrineLoaderEmbed ());
84
+
85
+ $ embeddedMaxLengthMetadata = $ embeddedClassMetadata ->getPropertyMetadata ('embeddedMaxLength ' );
86
+ $ this ->assertCount (1 , $ embeddedMaxLengthMetadata );
87
+ $ embeddedMaxLengthConstraints = $ embeddedMaxLengthMetadata [0 ]->getConstraints ();
88
+ $ this ->assertCount (1 , $ embeddedMaxLengthConstraints );
89
+ $ this ->assertInstanceOf (Length::class, $ embeddedMaxLengthConstraints [0 ]);
90
+ $ this ->assertSame (25 , $ embeddedMaxLengthConstraints [0 ]->max );
74
91
}
75
92
76
93
public function testFieldMappingsConfiguration ()
0 commit comments