Skip to content

Commit cb0fadf

Browse files
committed
better maxDepth in extractor
1 parent c7c4f3b commit cb0fadf

File tree

3 files changed

+5
-24
lines changed

3 files changed

+5
-24
lines changed

src/Metadata/Property/Factory/ExtractorPropertyMetadataFactory.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,15 +142,14 @@ private function createSubresourceMetadata($subresource, PropertyMetadata $prope
142142
}
143143

144144
$type = $propertyMetadata->getType();
145+
$maxDepth = $subresource['maxDepth'] ?? null;
145146

146147
if (null !== $type) {
147148
$isCollection = $type->isCollection();
148149
$resourceClass = $isCollection ? $type->getCollectionValueType()->getClassName() : $type->getClassName();
149-
$maxDepth = null; // for Type we can't configure maxDepth, maxDepth is always null
150150
} elseif (isset($subresource['resourceClass'])) {
151151
$resourceClass = $subresource['resourceClass'];
152152
$isCollection = $subresource['collection'] ?? true;
153-
$maxDepth = $subresource['maxDepth'] ?? null;
154153
} else {
155154
return null;
156155
}

tests/Metadata/Property/Factory/ExtractorPropertyMetadataFactoryTest.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ public function testCreateWithParentPropertyMetadataFactoryYaml(PropertyMetadata
130130
}
131131

132132
/**
133-
* @dataProvider typedPropertyMetadataProvider
133+
* @dataProvider decoratedPropertyMetadataProvider
134134
*/
135135
public function testCreateWithCollectionTypedParentPropertyMetadataFactoryYaml(PropertyMetadata $expectedPropertyMetadata)
136136
{
@@ -145,7 +145,7 @@ public function testCreateWithCollectionTypedParentPropertyMetadataFactoryYaml(P
145145
);
146146

147147
$expectedPropertyMetadata = $expectedPropertyMetadata->withType($collectionType);
148-
$expectedPropertyMetadata = $expectedPropertyMetadata->withSubresource(new SubresourceMetadata(RelatedDummy::class, true));
148+
$expectedPropertyMetadata = $expectedPropertyMetadata->withSubresource(new SubresourceMetadata(RelatedDummy::class, true, 1));
149149

150150
$decorated = $this->prophesize(PropertyMetadataFactoryInterface::class);
151151
$decorated
@@ -161,7 +161,7 @@ public function testCreateWithCollectionTypedParentPropertyMetadataFactoryYaml(P
161161
}
162162

163163
/**
164-
* @dataProvider typedPropertyMetadataProvider
164+
* @dataProvider decoratedPropertyMetadataProvider
165165
*/
166166
public function testCreateWithTypedParentPropertyMetadataFactoryYaml(PropertyMetadata $expectedPropertyMetadata)
167167
{
@@ -170,7 +170,7 @@ public function testCreateWithTypedParentPropertyMetadataFactoryYaml(PropertyMet
170170
$type = new Type(Type::BUILTIN_TYPE_OBJECT, false, RelatedDummy::class);
171171

172172
$expectedPropertyMetadata = $expectedPropertyMetadata->withType($type);
173-
$expectedPropertyMetadata = $expectedPropertyMetadata->withSubresource(new SubresourceMetadata(RelatedDummy::class, false));
173+
$expectedPropertyMetadata = $expectedPropertyMetadata->withSubresource(new SubresourceMetadata(RelatedDummy::class, false, 1));
174174

175175
$decorated = $this->prophesize(PropertyMetadataFactoryInterface::class);
176176
$decorated

tests/Metadata/Property/Factory/FileConfigurationMetadataFactoryProvider.php

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -61,24 +61,6 @@ public function decoratedPropertyMetadataProvider()
6161
return [[$this->getPropertyMetadata($metadata)]];
6262
}
6363

64-
public function typedPropertyMetadataProvider()
65-
{
66-
// for Type we can't configure maxDepth, maxDepth is always null
67-
$metadata = [
68-
'description' => 'The dummy foo',
69-
'readable' => true,
70-
'writable' => true,
71-
'readableLink' => true,
72-
'writableLink' => false,
73-
'required' => true,
74-
'identifier' => false,
75-
'attributes' => ['Foo'],
76-
'subresource' => new SubresourceMetadata('Foo', true),
77-
];
78-
79-
return [[$this->getPropertyMetadata($metadata)]];
80-
}
81-
8264
private function getPropertyMetadata(array $metadata): PropertyMetadata
8365
{
8466
$propertyMetadata = new PropertyMetadata();

0 commit comments

Comments
 (0)