File tree Expand file tree Collapse file tree
tests/Application/config/packages Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ <?php
2+
3+ declare (strict_types=1 );
4+
5+ namespace BitBag \SyliusProductBundlePlugin \Fixture \Factory ;
6+
7+ use BitBag \SyliusProductBundlePlugin \Entity \ProductBundleInterface ;
8+ use Sylius \Bundle \CoreBundle \Fixture \Factory \ExampleFactoryInterface ;
9+ use Symfony \Component \OptionsResolver \OptionsResolver ;
10+
11+ final class ProductBundleFixtureFactory implements ExampleFactoryInterface
12+ {
13+ private readonly OptionsResolver $ optionsResolver ;
14+
15+ public function __construct (
16+ ) {
17+ $ this ->optionsResolver = new OptionsResolver ();
18+ }
19+
20+ protected function configureOptions (OptionsResolver $ resolver ): void
21+ {
22+ $ resolver
23+ ->setDefault ('code ' , '' )
24+ ->setAllowedTypes ('code ' , 'string ' )
25+ ->setDefault ('name ' , '' )
26+ ->setAllowedTypes ('name ' , 'string ' )
27+ ->setDefault ('price ' , 0 )
28+ ->setAllowedTypes ('price ' , 'integer ' )
29+ ->setDefault ('quantity ' , 0 )
30+ ->setAllowedTypes ('quantity ' , 'integer ' )
31+ ;
32+ }
33+
34+ public function create (array $ options = []): ProductBundleInterface
35+ {
36+ $ options = $ this ->optionsResolver ->resolve ($ options );
37+ }
38+ }
Original file line number Diff line number Diff line change 1+ <?php
2+
3+ declare (strict_types=1 );
4+
5+ namespace BitBag \SyliusProductBundlePlugin \Fixture ;
6+
7+ use Sylius \Bundle \CoreBundle \Fixture \AbstractResourceFixture ;
8+ use Sylius \Bundle \FixturesBundle \Fixture \FixtureInterface ;
9+ use Symfony \Component \Config \Definition \Builder \ArrayNodeDefinition ;
10+
11+ final class ProductBundleFixture extends AbstractResourceFixture implements FixtureInterface
12+ {
13+ protected function configureResourceNode (ArrayNodeDefinition $ resourceNode ): void
14+ {
15+ $ resourceNodeChildren = $ resourceNode ->children ();
16+ $ resourceNodeChildren ->scalarNode ('code ' )->cannotBeEmpty ()->end ();
17+ $ resourceNodeChildren ->scalarNode ('name ' )->cannotBeEmpty ()->end ();
18+ $ resourceNodeChildren ->integerNode ('price ' )->end ();
19+ $ resourceNodeChildren ->integerNode ('quantity ' )->end ();
20+ }
21+
22+ public function getName (): string
23+ {
24+ return 'product_bundle ' ;
25+ }
26+ }
Original file line number Diff line number Diff line change 66 <import resource =" services/menu.xml" />
77 <import resource =" services/factory.xml" />
88 <import resource =" services/filter.xml" />
9+ <import resource =" services/fixture.xml" />
910 <import resource =" services/controller.xml" />
1011 <import resource =" services/handler.xml" />
1112 <import resource =" services/processor.xml" />
Original file line number Diff line number Diff line change 1+ <?xml version =" 1.0" encoding =" UTF-8" ?>
2+
3+ <container xmlns =" http://symfony.com/schema/dic/services" xmlns : xsi =" http://www.w3.org/2001/XMLSchema-instance"
4+ xsi : schemaLocation =" http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd" >
5+ <services >
6+ <service id =" bitbag_sylius_product_bundle.fixture.product_bundle"
7+ class =" BitBag\SyliusProductBundlePlugin\Fixture\ProductBundleFixture" >
8+ <argument type =" service" id =" bitbag_sylius_product_bundle.manager.product_bundle" />
9+ <argument type =" service" id =" bitbag_sylius_product_bundle.fixture.factory.product_bundle" />
10+ <tag name =" sylius_fixtures.fixture" />
11+ </service >
12+ <service id =" bitbag_sylius_product_bundle.fixture.factory.product_bundle"
13+ class =" BitBag\SyliusProductBundlePlugin\Fixture\Factory\ProductBundleFixtureFactory" >
14+ </service >
15+ </services >
16+ </container >
Original file line number Diff line number Diff line change 11imports :
2- - { resource: "@BitBagSyliusProductBundlePlugin/Resources/config/config.yml" }
2+ - { resource: "@BitBagSyliusProductBundlePlugin/Resources/config/config.yml" }
3+
4+ sylius_fixtures :
5+ suites :
6+ default :
7+ listeners :
8+ orm_purger : ~
9+ logger : ~
10+ fixtures :
11+ product_bundle :
12+ options :
13+ custom :
14+ code : ' bundle'
15+ name : Product Bundle
16+ price : 1000
17+ quantity : 100
You can’t perform that action at this time.
0 commit comments