4
4
namespace EventEngineTest \JsonSchema ;
5
5
6
6
use EventEngine \JsonSchema \JsonSchema ;
7
- use EventEngine \JsonSchema \Type \TypeRef ;
8
7
use EventEngineTest \JsonSchema \Stub \ArrayItemRecord ;
9
8
use EventEngineTest \JsonSchema \Stub \CollectionItemAllowNestedRecord ;
10
9
use EventEngineTest \JsonSchema \Stub \CollectionItemRecord ;
13
12
use EventEngineTest \JsonSchema \Stub \NullableScalarPropsRecord ;
14
13
use EventEngineTest \JsonSchema \Stub \ScalarPropsRecord ;
15
14
use EventEngineTest \JsonSchema \Stub \VoOptionalPropsRecord ;
15
+ use EventEngineTest \JsonSchema \Stub \VoProp \UserId ;
16
16
use EventEngineTest \JsonSchema \Stub \VoPropsRecord ;
17
17
18
18
final class JsonSchemaAwareRecordLogicTest extends BasicTestCase
@@ -100,7 +100,7 @@ public function it_uses_item_schema_from_collection()
100
100
$ schema = CollectionItemRecord::__schema ();
101
101
102
102
$ expected = JsonSchema::object ([
103
- 'friends ' => JsonSchema::array (JsonSchema::typeRef (ScalarPropsRecord::__type ()))
103
+ 'friends ' => JsonSchema::array (JsonSchema::typeRef (ScalarPropsRecord::__type ()))-> withMaxItems ( 10 )
104
104
]);
105
105
106
106
$ this ->assertEquals ($ expected ->toArray (), $ schema ->toArray ());
@@ -127,10 +127,10 @@ public function it_detects_scalar_types_through_method_analysis_of_vo_classes()
127
127
$ schema = VoPropsRecord::__schema ();
128
128
129
129
$ expected = JsonSchema::object ([
130
- 'userId ' => JsonSchema::string (),
131
- 'age ' => JsonSchema::integer (),
130
+ 'userId ' => JsonSchema::string ()-> withPattern (UserId:: PATTERN ) ,
131
+ 'age ' => JsonSchema::integer ()-> withRange ( 0 , 150 ) ,
132
132
'member ' => JsonSchema::boolean (),
133
- 'score ' => JsonSchema::float ()
133
+ 'score ' => JsonSchema::float ()-> withRange ( 0.1 , 1 ),
134
134
]);
135
135
136
136
$ this ->assertEquals ($ expected ->toArray (), $ schema ->toArray ());
@@ -144,11 +144,11 @@ public function it_respects_optional_properties()
144
144
$ schema = VoOptionalPropsRecord::__schema ();
145
145
146
146
$ expected = JsonSchema::object ([
147
- 'userId ' => JsonSchema::string (),
148
- 'age ' => JsonSchema::integer (),
147
+ 'userId ' => JsonSchema::string ()-> withPattern (UserId:: PATTERN ) ,
148
+ 'age ' => JsonSchema::integer ()-> withRange ( 0 , 150 ) ,
149
149
'member ' => JsonSchema::boolean (),
150
150
], [
151
- 'score ' => JsonSchema::float ()
151
+ 'score ' => JsonSchema::float ()-> withRange ( 0.1 , 1 ),
152
152
]);
153
153
154
154
$ this ->assertEquals ($ expected ->toArray (), $ schema ->toArray ());
0 commit comments