Skip to content

Commit 4182aab

Browse files
committed
fix pagination defaults and add tests
1 parent 41842c4 commit 4182aab

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

src/Bridge/Symfony/Bundle/DependencyInjection/ApiPlatformExtension.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ private function registerCommonConfiguration(ContainerBuilder $container, array
185185
$container->setParameter('api_platform.collection.exists_parameter_name', $config['collection']['exists_parameter_name']);
186186
$container->setParameter('api_platform.collection.order', $config['defaults']['order'] ?? $config['collection']['order']);
187187
$container->setParameter('api_platform.collection.order_parameter_name', $config['collection']['order_parameter_name']);
188-
$container->setParameter('api_platform.collection.pagination.enabled', $this->isConfigEnabled($container, $config['defaults']['pagination_enabled'] ?? $config['collection']['pagination']));
188+
$container->setParameter('api_platform.collection.pagination.enabled', $config['api_platform']['defaults'] ?? $this->isConfigEnabled($container, $config['collection']['pagination']));
189189
$container->setParameter('api_platform.collection.pagination.partial', $config['defaults']['pagination_partial'] ?? $config['collection']['pagination']['partial']);
190190
$container->setParameter('api_platform.collection.pagination.client_enabled', $config['defaults']['pagination_client_enabled'] ?? $config['collection']['pagination']['client_enabled']);
191191
$container->setParameter('api_platform.collection.pagination.client_items_per_page', $config['defaults']['pagination_client_items_per_page'] ?? $config['collection']['pagination']['client_items_per_page']);

tests/Bridge/Symfony/Bundle/DependencyInjection/ApiPlatformExtensionTest.php

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -786,6 +786,22 @@ public function testDisabledSwagger()
786786
$this->extension->load($config, $containerBuilder);
787787
}
788788

789+
public function testPaginationEnabledViaDefaults()
790+
{
791+
$config = self::DEFAULT_CONFIG;
792+
$config['api_platform']['defaults'] = [
793+
'attributes' => [
794+
'pagination' => true
795+
],
796+
];
797+
798+
$containerBuilderProphecy = $this->getBaseContainerBuilderProphecy();
799+
$containerBuilderProphecy->setParameter('api_platform.defaults', ['attributes' => ['pagination' => true]])->shouldBeCalled();
800+
$containerBuilderProphecy->setParameter('api_platform.defaults', ['attributes' => []])->shouldNotBeCalled();
801+
$containerBuilder = $containerBuilderProphecy->reveal();
802+
$this->extension->load($config, $containerBuilder);
803+
}
804+
789805
private function getPartialContainerBuilderProphecy($configuration = null)
790806
{
791807
$parameterBag = new EnvPlaceholderParameterBag();

0 commit comments

Comments
 (0)