Skip to content

Commit

Permalink
Merge pull request Sylius#5360 from pamil/fixtures/parameter-fix
Browse files Browse the repository at this point in the history
[Fixtures] Allow options to be an array only
  • Loading branch information
Paweł Jędrzejewski authored and pamil committed Jun 28, 2016
2 parents d8de7ed + 164a015 commit d244807
Show file tree
Hide file tree
Showing 43 changed files with 228 additions and 400 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public function load(array $config, ContainerBuilder $container)

$loader->load(sprintf('driver/%s.xml', $config['driver']));

$this->registerResources('sylius', $config['driver'], $config['resources'], $container);
$this->loadResources($container, 'sylius', $config['driver'], $config['resources']);

$configFiles = [
'services.xml',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ public function load(array $config, ContainerBuilder $container)
$config = $this->processConfiguration($this->getConfiguration($config, $container), $config);
$loader = new XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));

$this->registerResources('sylius', $config['driver'], $config['resources'], $container);
$this->loadResources($container, 'sylius', $config['driver'], $config['resources']);

$configFiles = [
'services.xml',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ public function load(array $config, ContainerBuilder $container)
$config = $this->defineDefaultOrmRepository($config);
}

$this->registerResources('sylius', $config['driver'], $this->resolveResources($config['resources'], $container), $container);
$this->loadResources($container, 'sylius', $config['driver'], $this->resolveResources($config['resources'], $container));

foreach ($config['resources'] as $subjectName => $subjectConfig) {
foreach ($subjectConfig as $resourceName => $resourceConfig) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ public function load(array $config, ContainerBuilder $container)

$loader->load('services.xml');

$this->registerResources('sylius', $config['driver'], $this->resolveResources($config['resources'], $container), $container);
$this->loadResources($container, 'sylius', $config['driver'], $this->resolveResources($config['resources'], $container));

foreach ($config['resources'] as $subjectName => $subjectConfig) {
foreach ($subjectConfig as $resourceName => $resourceConfig) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ public function load(array $config, ContainerBuilder $container)
$loader->load($configFile);
}

$this->registerResources('sylius', $config['driver'], $this->resolveResources($config['resources'], $container), $container);
$this->loadResources($container, 'sylius', $config['driver'], $this->resolveResources($config['resources'], $container));

foreach ($config['resources'] as $subjectName => $subjectConfig) {
foreach ($subjectConfig as $resourceName => $resourceConfig) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ public function load(array $config, ContainerBuilder $container)

$loader->load(sprintf('driver/%s.xml', $config['driver']));

$this->registerResources('sylius', $config['driver'], $config['resources'], $container);
$this->loadResources($container, 'sylius', $config['driver'], $config['resources']);

$configFiles = [
'services.xml',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ public function load(array $config, ContainerBuilder $container)

$loader->load(sprintf('driver/%s.xml', $config['driver']));

$this->registerResources('sylius', $config['driver'], $config['resources'], $container);
$this->loadResources($container, 'sylius', $config['driver'], $config['resources']);

$configFiles = [
'services.xml',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ public function load(array $config, ContainerBuilder $container)
$config = $this->processConfiguration($this->getConfiguration($config, $container), $config);
$loader = new XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));

$this->registerResources('sylius', $config['driver'], $config['resources'], $container);
$this->loadResources($container, 'sylius', $config['driver'], $config['resources']);

$configFiles = [
// ...
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ public function load(array $config, ContainerBuilder $container)
$config = $this->processConfiguration($this->getConfiguration($config, $container), $config);
$loader = new XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));

$this->registerResources('sylius', $config['driver'], $config['resources'], $container);
$this->loadResources($container, 'sylius', $config['driver'], $config['resources']);

$configFiles = [
// ...
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ public function load(array $config, ContainerBuilder $container)
$config = $this->processConfiguration($this->getConfiguration($config, $container), $config);
$loader = new XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));

$this->registerResources('sylius', $config['driver'], $config['resources'], $container);
$this->loadResources($container, 'sylius', $config['driver'], $config['resources']);

$configFiles = [
'services.xml',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ public function load(array $config, ContainerBuilder $container)
$config = $this->processConfiguration($this->getConfiguration($config, $container), $config);
$loader = new XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));

$this->registerResources('sylius', $config['driver'], $config['resources'], $container);
$this->loadResources($container, 'sylius', $config['driver'], $config['resources']);

$configFiles = [
'services.xml',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,6 @@ private function buildAttributesNode(ArrayNodeDefinition $node)
$optionsNode = $attributesNodeBuilder->arrayNode('options');
$optionsNode->addDefaultChildrenIfNoneSet();
$optionsNode->beforeNormalization()->always(function ($value) { return [$value]; });
$optionsNode->prototype('variable');
$optionsNode->prototype('array')->ignoreExtraKeys(false);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,46 @@ public function fixture_options_are_not_replaced_implicitly()
);
}

/**
* @test
*/
public function fixtures_options_are_an_array()
{
$this->assertPartialConfigurationIsInvalid(
[['suites' => ['suite' => ['fixtures' => ['fixture' => [
'options' => 42,
]]]]]],
'suites.*.fixtures'
);

$this->assertPartialConfigurationIsInvalid(
[['suites' => ['suite' => ['fixtures' => ['fixture' => [
'options' => 'string string',
]]]]]],
'suites.*.fixtures'
);
}

/**
* @test
*/
public function listeners_options_are_an_array()
{
$this->assertPartialConfigurationIsInvalid(
[['suites' => ['suite' => ['listeners' => ['listener' => [
'options' => 42,
]]]]]],
'suites.*.listeners'
);

$this->assertPartialConfigurationIsInvalid(
[['suites' => ['suite' => ['listeners' => ['listener' => [
'options' => 'string string',
]]]]]],
'suites.*.listeners'
);
}

/**
* {@inheritdoc}
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ public function load(array $config, ContainerBuilder $container)
$config = $this->processConfiguration($this->getConfiguration($config, $container), $config);
$loader = new XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));

$this->registerResources('sylius', $config['driver'], $config['resources'], $container);
$this->loadResources($container, 'sylius', $config['driver'], $config['resources']);

$configFiles = [
'twig.xml',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public function load(array $config, ContainerBuilder $container)
$config = $this->processConfiguration($this->getConfiguration($config, $container), $config);
$loader = new XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));

$this->registerResources('sylius', $config['driver'], $config['resources'], $container);
$this->loadResources($container, 'sylius', $config['driver'], $config['resources']);

$configFiles = [
'services.xml',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ public function load(array $config, ContainerBuilder $container)
$config = $this->processConfiguration($this->getConfiguration($config, $container), $config);
$loader = new XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));

$this->registerResources('sylius', $config['driver'], $config['resources'], $container);
$this->loadResources($container, 'sylius', $config['driver'], $config['resources']);

$configFiles = [
'services.xml',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ public function load(array $config, ContainerBuilder $container)
$config = $this->processConfiguration($this->getConfiguration($config, $container), $config);
$loader = new XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));

$this->registerResources('sylius', $config['driver'], $config['resources'], $container);
$this->loadResources($container, 'sylius', $config['driver'], $config['resources']);

$loader->load('services.xml');
$loader->load('forms.xml');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public function load(array $config, ContainerBuilder $container)
$config = $this->processConfiguration($this->getConfiguration($config, $container), $config);
$loader = new XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));

$this->registerResources('sylius', $config['driver'], $config['resources'], $container);
$this->loadResources($container, 'sylius', $config['driver'], $config['resources']);

$configFiles = [
'services.xml',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ public function load(array $config, ContainerBuilder $container)
$config = $this->processConfiguration($this->getConfiguration($config, $container), $config);
$loader = new XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));

$this->registerResources('sylius', $config['driver'], $config['resources'], $container);
$this->loadResources($container, 'sylius', $config['driver'], $config['resources']);

$configFiles = [
'services.xml',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ public function load(array $config, ContainerBuilder $container)
$config = $this->processConfiguration($this->getConfiguration($config, $container), $config);
$loader = new XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));

$this->registerResources('sylius', $config['driver'], $config['resources'], $container);
$this->loadResources($container, 'sylius', $config['driver'], $config['resources']);

$configFiles = [
'services.xml',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ public function load(array $config, ContainerBuilder $container)

$loader->load(sprintf('driver/%s.xml', $config['driver']));

$this->registerResources('sylius', $config['driver'], $config['resources'], $container);
$this->loadResources($container, 'sylius', $config['driver'], $config['resources']);

$configFiles = [
'services.xml',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ public function load(array $config, ContainerBuilder $container)
$loader->load($configFile);
}

$this->registerResources('sylius', $config['driver'], $config['resources'], $container);
$this->loadResources($container, 'sylius', $config['driver'], $config['resources']);
$this->overwriteCouponFactory($container);
$this->overwriteActionFactory($container);

Expand Down Expand Up @@ -87,4 +87,17 @@ private function overwriteActionFactory(ContainerBuilder $container)

$container->setDefinition('sylius.factory.promotion_action', $decoratedPromotionActionFactoryDefinition);
}

/**
* @param array $config
* @param ContainerBuilder $container
*/
private function mapFormValidationGroupsParameters(array $config, ContainerBuilder $container)
{
if (isset($config['validation_groups'])) {
foreach ($config['validation_groups'] as $name => $groups) {
$container->setParameter(sprintf('sylius.validation_groups.%s', $name), $groups);
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ public function load(array $config, ContainerBuilder $container)

$loader->load(sprintf('driver/%s.xml', $config['driver']));

$this->registerResources('sylius', $config['driver'], $config['resources'], $container);
$this->loadResources($container, 'sylius', $config['driver'], $config['resources']);

$configFiles = [
'services.xml',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ public function load(array $config, ContainerBuilder $container)
$config = $this->processConfiguration($this->getConfiguration($config, $container), $config);
$loader = new XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));

$this->registerResources('sylius', $config['driver'], $config['resources'], $container);
$this->loadResources($container, 'sylius', $config['driver'], $config['resources']);

$configFiles = [
'services.xml',
Expand Down

This file was deleted.

Loading

0 comments on commit d244807

Please sign in to comment.