/** * @param FactoryInterface $taxRateFactory * @param RepositoryInterface $zoneRepository * @param RepositoryInterface $taxCategoryRepository */ public function __construct(FactoryInterface $taxRateFactory, RepositoryInterface $zoneRepository, RepositoryInterface $taxCategoryRepository) { $this->taxRateFactory = $taxRateFactory; $this->faker = \Faker\Factory::create(); $this->optionsResolver = (new OptionsResolver())->setDefault('name', function (Options $options) { return $this->faker->words(3, true); })->setDefault('code', function (Options $options) { return StringInflector::nameToCode($options['name']); })->setDefault('amount', function (Options $options) { return $this->faker->randomFloat(2, 0, 1); })->setAllowedTypes('amount', 'float')->setDefault('included_in_price', function (Options $options) { return $this->faker->boolean(); })->setAllowedTypes('included_in_price', 'bool')->setDefault('calculator', 'default')->setDefault('zone', LazyOption::randomOne($zoneRepository))->setAllowedTypes('zone', ['null', 'string', ZoneInterface::class])->setNormalizer('zone', LazyOption::findOneBy($zoneRepository, 'code'))->setDefault('tax_category', LazyOption::randomOne($taxCategoryRepository))->setAllowedTypes('tax_category', ['null', 'string', TaxCategoryInterface::class])->setNormalizer('tax_category', LazyOption::findOneBy($taxCategoryRepository, 'code')); }
/** * @Given /^the store allows paying (\w+) for (all channels)$/ */ public function storeAllowsPayingForAllChannels($paymentMethodName, array $channels) { $paymentMethod = $this->createPaymentMethod($paymentMethodName, StringInflector::nameToUppercaseCode($paymentMethodName), 'Payment method', false); foreach ($channels as $channel) { $paymentMethod->addChannel($channel); } }
/** * {@inheritdoc} * * @throws ElementNotFoundException */ public function checkValidationMessageFor($element, $message) { $errorLabel = $this->getElement(StringInflector::nameToCode($element))->getParent()->find('css', '.sylius-validation-error'); if (null === $errorLabel) { throw new ElementNotFoundException($this->getSession(), 'Validation message', 'css', '.sylius-validation-error'); } return $message === $errorLabel->getText(); }
/** * {@inheritdoc} */ protected function configureOptions(OptionsResolver $resolver) { $resolver->setDefault('name', function (Options $options) { return $this->faker->words(3, true); })->setDefault('code', function (Options $options) { return StringInflector::nameToCode($options['name']); }); }
/** * @param FactoryInterface $routeFactory */ public function __construct(FactoryInterface $routeFactory, RepositoryInterface $staticContentRepository) { $this->routeFactory = $routeFactory; $this->faker = \Faker\Factory::create(); $this->optionsResolver = (new OptionsResolver())->setDefault('name', function (Options $options) { return StringInflector::nameToCode($this->faker->words(3, true)); })->setDefault('content', LazyOption::randomOne($staticContentRepository))->setAllowedTypes('content', ['string', StaticContent::class])->setNormalizer('content', LazyOption::findOneBy($staticContentRepository, 'name')); }
/** * {@inheritdoc} */ public function create($name) { $promotion = $this->promotionFactory->createNew(); $promotion->setName($name); $promotion->setCode(StringInflector::nameToLowercaseCode($name)); $promotion->setStartsAt(new \DateTime('-3 days')); $promotion->setEndsAt(new \DateTime('+3 days')); return $promotion; }
/** * {@inheritdoc} */ protected function configureOptions(OptionsResolver $resolver) { $resolver->setDefault('name', function (Options $options) { return $this->faker->words(3, true); })->setDefault('code', function (Options $options) { return StringInflector::nameToCode($options['name']); })->setDefault('type', function (Options $options) { return $this->faker->randomElement(array_keys($this->attributeTypes)); })->setAllowedValues('type', array_keys($this->attributeTypes)); }
/** * @param string $type * @param string $name * @param string|null $code * * @return ProductAttributeInterface */ private function createProductAttribute($type, $name, $code = null) { $productAttribute = $this->productAttributeFactory->createTyped($type); if (null === $code) { $code = StringInflector::nameToUppercaseCode($name); } $productAttribute->setCode($code); $productAttribute->setName($name); return $productAttribute; }
/** * @param string $type * @param string $name * @param string|null $code */ private function createProductAttribute($type, $name, $code = null) { $productAttribute = $this->productAttributeFactory->createTyped($type); if (null === $code) { $code = StringInflector::nameToUppercaseCode($name); } $productAttribute->setCode($code); $productAttribute->setName($name); $this->productAttributeRepository->add($productAttribute); $this->sharedStorage->set('product_attribute', $productAttribute); }
/** * @param FactoryInterface $productArchetypeFactory * @param RepositoryInterface $productOptionRepository * @param RepositoryInterface $productAttributeRepository * @param RepositoryInterface $localeRepository */ public function __construct(FactoryInterface $productArchetypeFactory, RepositoryInterface $productOptionRepository, RepositoryInterface $productAttributeRepository, RepositoryInterface $localeRepository) { $this->productArchetypeFactory = $productArchetypeFactory; $this->localeRepository = $localeRepository; $this->faker = \Faker\Factory::create(); $this->optionsResolver = (new OptionsResolver())->setDefault('name', function (Options $options) { return $this->faker->words(3, true); })->setDefault('code', function (Options $options) { return StringInflector::nameToCode($options['name']); })->setDefault('product_options', LazyOption::randomOnes($productOptionRepository, 2))->setAllowedTypes('product_options', 'array')->setNormalizer('product_options', LazyOption::findBy($productOptionRepository, 'code'))->setDefault('product_attributes', LazyOption::randomOnes($productAttributeRepository, 2))->setAllowedTypes('product_attributes', 'array')->setNormalizer('product_attributes', LazyOption::findBy($productAttributeRepository, 'code')); }
/** * @param string $shippingCategoryName * @param string $shippingCategoryCode */ private function createShippingCategory($shippingCategoryName, $shippingCategoryCode = null) { /** @var ShippingCategoryInterface $shippingCategory */ $shippingCategory = $this->shippingCategoryFactory->createNew(); $shippingCategory->setName($shippingCategoryName); $shippingCategory->setCode($shippingCategoryCode); if (null === $shippingCategoryCode) { $shippingCategory->setCode(StringInflector::nameToCode($shippingCategoryName)); } $this->shippingCategoryRepository->add($shippingCategory); $this->sharedStorage->set('shipping_category', $shippingCategory); }
/** * {@inheritdoc} */ protected function configureOptions(OptionsResolver $resolver) { $resolver->setDefault('code', function (Options $options) { return StringInflector::nameToCode($options['name']); })->setDefault('name', function (Options $options) { return $this->faker->words(3, true); })->setDefault('amount', function (Options $options) { return $this->faker->randomFloat(2, 0, 0.4); })->setAllowedTypes('amount', 'float')->setDefault('included_in_price', function (Options $options) { return $this->faker->boolean(); })->setAllowedTypes('included_in_price', 'bool')->setDefault('calculator', 'default')->setDefault('zone', LazyOption::randomOne($this->zoneRepository))->setAllowedTypes('zone', ['null', 'string', ZoneInterface::class])->setNormalizer('zone', LazyOption::findOneBy($this->zoneRepository, 'code'))->setDefault('category', LazyOption::randomOne($this->taxCategoryRepository))->setAllowedTypes('category', ['null', 'string', TaxCategoryInterface::class])->setNormalizer('category', LazyOption::findOneBy($this->taxCategoryRepository, 'code')); }
/** * @param FactoryInterface $shippingCategoryFactory */ public function __construct(FactoryInterface $shippingCategoryFactory) { $this->shippingCategoryFactory = $shippingCategoryFactory; $this->faker = \Faker\Factory::create(); $this->optionsResolver = (new OptionsResolver())->setDefault('name', function (Options $options) { return $this->faker->words(3, true); })->setDefault('code', function (Options $options) { return StringInflector::nameToCode($options['name']); })->setDefault('description', function (Options $options) { return $this->faker->paragraph; }); }
/** * @param AttributeFactoryInterface $productAttributeFactory * @param RepositoryInterface $localeRepository * @param array $attributeTypes */ public function __construct(AttributeFactoryInterface $productAttributeFactory, RepositoryInterface $localeRepository, array $attributeTypes) { $this->productAttributeFactory = $productAttributeFactory; $this->localeRepository = $localeRepository; $this->faker = \Faker\Factory::create(); $this->optionsResolver = (new OptionsResolver())->setDefault('name', function (Options $options) { return $this->faker->words(3, true); })->setDefault('code', function (Options $options) { return StringInflector::nameToCode($options['name']); })->setDefault('type', function (Options $options) use($attributeTypes) { return $this->faker->randomElement(array_keys($attributeTypes)); })->setAllowedValues('type', array_keys($attributeTypes)); }
/** * @param FactoryInterface $paymentMethodFactory * @param RepositoryInterface $localeRepository */ public function __construct(FactoryInterface $paymentMethodFactory, RepositoryInterface $localeRepository) { $this->paymentMethodFactory = $paymentMethodFactory; $this->localeRepository = $localeRepository; $this->faker = \Faker\Factory::create(); $this->optionsResolver = (new OptionsResolver())->setDefault('name', function (Options $options) { return $this->faker->words(3, true); })->setDefault('code', function (Options $options) { return StringInflector::nameToCode($options['name']); })->setDefault('gateway', 'offline')->setDefault('enabled', function (Options $options) { return $this->faker->boolean(90); })->setAllowedTypes('enabled', 'bool'); }
/** * @param FactoryInterface $staticContentFactory */ public function __construct(FactoryInterface $staticContentFactory) { $this->staticContentFactory = $staticContentFactory; $this->faker = \Faker\Factory::create(); $this->optionsResolver = (new OptionsResolver())->setDefault('title', function (Options $options) { return $this->faker->words(3, true); })->setDefault('name', function (Options $options) { return StringInflector::nameToCode($options['title']); })->setDefault('body', function (Options $options) { return $this->faker->paragraphs(4, true); })->setDefault('publishable', function (Options $options) { return $this->faker->boolean(90); })->setAllowedTypes('publishable', 'bool'); }
/** * @param FactoryInterface $taxonFactory * @param TaxonRepositoryInterface $taxonRepository * @param ObjectManager $taxonManager * @param RepositoryInterface $localeRepository */ public function __construct(FactoryInterface $taxonFactory, TaxonRepositoryInterface $taxonRepository, ObjectManager $taxonManager, RepositoryInterface $localeRepository) { $this->taxonFactory = $taxonFactory; $this->taxonRepository = $taxonRepository; $this->localeRepository = $localeRepository; $this->faker = \Faker\Factory::create(); $this->optionsResolver = (new OptionsResolver())->setDefault('name', function (Options $options) { return $this->faker->words(3, true); })->setDefault('code', function (Options $options) { return StringInflector::nameToCode($options['name']); })->setDefault('description', function (Options $options) { return $this->faker->paragraph; })->setDefault('children', [])->setAllowedTypes('children', ['array']); }
/** * @param FactoryInterface $shippingMethodFactory * @param RepositoryInterface $zoneRepository * @param RepositoryInterface $shippingCategoryRepository * @param RepositoryInterface $localeRepository */ public function __construct(FactoryInterface $shippingMethodFactory, RepositoryInterface $zoneRepository, RepositoryInterface $shippingCategoryRepository, RepositoryInterface $localeRepository) { $this->shippingMethodFactory = $shippingMethodFactory; $this->localeRepository = $localeRepository; $this->faker = \Faker\Factory::create(); $this->optionsResolver = (new OptionsResolver())->setDefault('name', function (Options $options) { return $this->faker->words(3, true); })->setDefault('code', function (Options $options) { return StringInflector::nameToCode($options['name']); })->setDefault('enabled', function (Options $options) { return $this->faker->boolean(90); })->setAllowedTypes('enabled', 'bool')->setDefault('zone', LazyOption::randomOne($zoneRepository))->setAllowedTypes('zone', ['null', 'string', ZoneInterface::class])->setNormalizer('zone', LazyOption::findOneBy($zoneRepository, 'code'))->setDefault('shipping_category', LazyOption::randomOne($shippingCategoryRepository))->setAllowedTypes('shipping_category', ['null', 'string', ShippingCategoryInterface::class])->setNormalizer('shipping_category', LazyOption::findOneBy($shippingCategoryRepository, 'code'))->setDefault('calculator', function (Options $options) { return ['type' => DefaultCalculators::FLAT_RATE, 'configuration' => ['amount' => 4200]]; }); }
/** * @param ChannelFactoryInterface $channelFactory * @param RepositoryInterface $localeRepository * @param RepositoryInterface $currencyRepository * @param RepositoryInterface $paymentMethodRepository * @param RepositoryInterface $shippingMethodRepository */ public function __construct(ChannelFactoryInterface $channelFactory, RepositoryInterface $localeRepository, RepositoryInterface $currencyRepository, RepositoryInterface $paymentMethodRepository, RepositoryInterface $shippingMethodRepository) { $this->channelFactory = $channelFactory; $this->faker = \Faker\Factory::create(); $this->optionsResolver = (new OptionsResolver())->setDefault('name', function (Options $options) { return $this->faker->words(3, true); })->setDefault('code', function (Options $options) { return StringInflector::nameToCode($options['name']); })->setDefault('hostname', function (Options $options) { return $options['code'] . '.localhost'; })->setDefault('color', function (Options $options) { return $this->faker->colorName; })->setDefault('enabled', function (Options $options) { return $this->faker->boolean(90); })->setAllowedTypes('enabled', 'bool')->setDefault('locales', LazyOption::all($localeRepository))->setAllowedTypes('locales', 'array')->setNormalizer('locales', LazyOption::findBy($localeRepository, 'code'))->setDefault('currencies', LazyOption::all($currencyRepository))->setAllowedTypes('currencies', 'array')->setNormalizer('currencies', LazyOption::findBy($currencyRepository, 'code'))->setDefault('payment_methods', LazyOption::all($paymentMethodRepository))->setAllowedTypes('payment_methods', 'array')->setNormalizer('payment_methods', LazyOption::findBy($paymentMethodRepository, 'code'))->setDefault('shipping_methods', LazyOption::all($shippingMethodRepository))->setAllowedTypes('shipping_methods', 'array')->setNormalizer('shipping_methods', LazyOption::findBy($shippingMethodRepository, 'code')); }
/** * @param FactoryInterface $taxonFactory * @param ObjectManager $taxonManager * @param RepositoryInterface $taxonRepository * @param RepositoryInterface $localeRepository */ public function __construct(FactoryInterface $taxonFactory, ObjectManager $taxonManager, RepositoryInterface $taxonRepository, RepositoryInterface $localeRepository) { $this->taxonFactory = $taxonFactory; $this->localeRepository = $localeRepository; $this->faker = \Faker\Factory::create(); $this->optionsResolver = (new OptionsResolver())->setDefault('name', function (Options $options) { return $this->faker->words(3, true); })->setDefault('code', function (Options $options) { return StringInflector::nameToCode($options['name']); })->setDefault('description', function (Options $options) { return $this->faker->paragraph; })->setDefault('parent', LazyOption::randomOneOrNull($taxonRepository, 70))->setAllowedTypes('parent', ['null', 'string', TaxonInterface::class])->setNormalizer('parent', function (Options $options, $previousValue) use($taxonManager) { $taxonManager->flush(); return $previousValue; })->setNormalizer('parent', LazyOption::findOneBy($taxonRepository, 'code')); }
/** * @param ChannelFactoryInterface $channelFactory * @param RepositoryInterface $localeRepository * @param RepositoryInterface $currencyRepository * @param RepositoryInterface $paymentMethodRepository * @param RepositoryInterface $shippingMethodRepository */ public function __construct(ChannelFactoryInterface $channelFactory, RepositoryInterface $localeRepository, RepositoryInterface $currencyRepository, RepositoryInterface $paymentMethodRepository, RepositoryInterface $shippingMethodRepository) { $this->channelFactory = $channelFactory; $this->faker = \Faker\Factory::create(); $this->optionsResolver = (new OptionsResolver())->setDefault('name', function (Options $options) { return $this->faker->words(3, true); })->setDefault('code', function (Options $options) { return StringInflector::nameToCode($options['name']); })->setDefault('hostname', function (Options $options) { return $options['code'] . '.localhost'; })->setDefault('color', function (Options $options) { return $this->faker->colorName; })->setDefault('enabled', function (Options $options) { return $this->faker->boolean(90); })->setAllowedTypes('enabled', 'bool')->setDefault('tax_calculation_strategy', 'order_items_based')->setAllowedTypes('tax_calculation_strategy', 'string')->setDefault('default_locale', function (Options $options) { return $this->faker->randomElement($options['locales']); })->setAllowedTypes('default_locale', LocaleInterface::class)->setNormalizer('default_locale', LazyOption::findOneBy($localeRepository, 'code'))->setDefault('locales', LazyOption::all($localeRepository))->setAllowedTypes('locales', 'array')->setNormalizer('locales', LazyOption::findBy($localeRepository, 'code'))->setDefault('default_currency', function (Options $options) { return $this->faker->randomElement($options['currencies']); })->setAllowedTypes('default_currency', CurrencyInterface::class)->setNormalizer('default_currency', LazyOption::findOneBy($currencyRepository, 'code'))->setDefault('currencies', LazyOption::all($currencyRepository))->setAllowedTypes('currencies', 'array')->setNormalizer('currencies', LazyOption::findBy($currencyRepository, 'code'))->setDefault('payment_methods', LazyOption::all($paymentMethodRepository))->setAllowedTypes('payment_methods', 'array')->setNormalizer('payment_methods', LazyOption::findBy($paymentMethodRepository, 'code'))->setDefault('shipping_methods', LazyOption::all($shippingMethodRepository))->setAllowedTypes('shipping_methods', 'array')->setNormalizer('shipping_methods', LazyOption::findBy($shippingMethodRepository, 'code'))->setDefault('theme_name', null); }
/** * @param FactoryInterface $productOptionFactory * @param FactoryInterface $productOptionValueFactory * @param RepositoryInterface $localeRepository */ public function __construct(FactoryInterface $productOptionFactory, FactoryInterface $productOptionValueFactory, RepositoryInterface $localeRepository) { $this->productOptionFactory = $productOptionFactory; $this->productOptionValueFactory = $productOptionValueFactory; $this->localeRepository = $localeRepository; $this->faker = \Faker\Factory::create(); $this->optionsResolver = (new OptionsResolver())->setDefault('name', function (Options $options) { return $this->faker->words(3, true); })->setDefault('code', function (Options $options) { return StringInflector::nameToCode($options['name']); })->setDefault('values', null)->setDefault('values', function (Options $options, $values) { if (is_array($values)) { return $values; } $values = []; for ($i = 1; $i <= 5; ++$i) { $values[sprintf('%s-option#%d', $options['code'], $i)] = sprintf('%s #i%d', $options['name'], $i); } return $values; })->setAllowedTypes('values', 'array'); }
/** * @Then my order's billing address should be to :fullName */ public function iShouldSeeThisBillingAddressAsBillingAddress($fullName) { $address = $this->sharedStorage->get('billing_address_' . StringInflector::nameToLowercaseCode($fullName)); Assert::true($this->completePage->hasBillingAddress($address), 'Billing address is improper.'); }
/** * {@inheritdoc} */ protected function configureOptions(OptionsResolver $resolver) { $resolver->setDefault('code', function (Options $options) { return StringInflector::nameToCode($options['name']); })->setDefault('name', $this->faker->words(3, true))->setDefault('description', $this->faker->sentence())->setDefault('usage_limit', null)->setDefault('coupon_based', false)->setDefault('exclusive', $this->faker->boolean(25))->setDefault('priority', 0)->setDefault('starts_at', null)->setAllowedTypes('starts_at', ['null', 'string'])->setDefault('ends_at', null)->setAllowedTypes('ends_at', ['null', 'string'])->setDefault('channels', LazyOption::all($this->channelRepository))->setAllowedTypes('channels', 'array')->setNormalizer('channels', LazyOption::findBy($this->channelRepository, 'code'))->setDefined('rules')->setNormalizer('rules', function (Options $options, array $rules) { if (empty($rules)) { return [[]]; } return $rules; })->setDefined('actions')->setNormalizer('actions', function (Options $options, array $actions) { if (empty($actions)) { return [[]]; } return $actions; }); }
/** * @param FactoryInterface $productFactory * @param FactoryInterface $productVariantFactory * @param ProductVariantGeneratorInterface $variantGenerator * @param FactoryInterface $productAttributeValueFactory * @param FactoryInterface $productImageFactory * @param ImageUploaderInterface $imageUploader * @param SlugGeneratorInterface $slugGenerator * @param RepositoryInterface $taxonRepository * @param RepositoryInterface $productAttributeRepository * @param RepositoryInterface $productOptionRepository * @param RepositoryInterface $channelRepository * @param RepositoryInterface $localeRepository */ public function __construct(FactoryInterface $productFactory, FactoryInterface $productVariantFactory, ProductVariantGeneratorInterface $variantGenerator, FactoryInterface $productAttributeValueFactory, FactoryInterface $productImageFactory, ImageUploaderInterface $imageUploader, SlugGeneratorInterface $slugGenerator, RepositoryInterface $taxonRepository, RepositoryInterface $productAttributeRepository, RepositoryInterface $productOptionRepository, RepositoryInterface $channelRepository, RepositoryInterface $localeRepository) { $this->productFactory = $productFactory; $this->productVariantFactory = $productVariantFactory; $this->variantGenerator = $variantGenerator; $this->productImageFactory = $productImageFactory; $this->imageUploader = $imageUploader; $this->slugGenerator = $slugGenerator; $this->localeRepository = $localeRepository; $this->faker = \Faker\Factory::create(); $this->optionsResolver = (new OptionsResolver())->setDefault('name', function (Options $options) { return $this->faker->words(3, true); })->setDefault('code', function (Options $options) { return StringInflector::nameToCode($options['name']); })->setDefault('enabled', function (Options $options) { return $this->faker->boolean(90); })->setAllowedTypes('enabled', 'bool')->setDefault('short_description', function (Options $options) { return $this->faker->paragraph; })->setDefault('description', function (Options $options) { return $this->faker->paragraphs(3, true); })->setDefault('main_taxon', LazyOption::randomOne($taxonRepository))->setAllowedTypes('main_taxon', ['null', 'string', TaxonInterface::class])->setNormalizer('main_taxon', LazyOption::findOneBy($taxonRepository, 'code'))->setDefault('taxons', LazyOption::randomOnes($taxonRepository, 3))->setAllowedTypes('taxons', 'array')->setNormalizer('taxons', LazyOption::findBy($taxonRepository, 'code'))->setDefault('channels', LazyOption::randomOnes($channelRepository, 3))->setAllowedTypes('channels', 'array')->setNormalizer('channels', LazyOption::findBy($channelRepository, 'code'))->setDefault('product_attributes', [])->setAllowedTypes('product_attributes', 'array')->setNormalizer('product_attributes', function (Options $options, array $productAttributes) use($productAttributeRepository, $productAttributeValueFactory) { $productAttributesValues = []; foreach ($productAttributes as $code => $value) { /** @var ProductAttributeInterface $productAttribute */ $productAttribute = $productAttributeRepository->findOneBy(['code' => $code]); Assert::notNull($productAttribute); /** @var ProductAttributeValueInterface $productAttributeValue */ $productAttributeValue = $productAttributeValueFactory->createNew(); $productAttributeValue->setAttribute($productAttribute); $productAttributeValue->setValue($value ?: $this->getRandomValueForProductAttribute($productAttribute)); $productAttributesValues[] = $productAttributeValue; } return $productAttributesValues; })->setDefault('product_options', [])->setAllowedTypes('product_options', 'array')->setNormalizer('product_options', LazyOption::findBy($productOptionRepository, 'code'))->setDefault('images', [])->setAllowedTypes('images', 'array'); }
/** * @Then /^I should be notified that the (email) is invalid$/ */ public function iShouldBeNotifiedThatElementIsInvalid($element) { $this->assertFieldValidationMessage($this->profileUpdatePage, StringInflector::nameToCode($element), sprintf('This %s is invalid.', $element)); }
/** * {@inheritdoc} */ protected function configureOptions(OptionsResolver $resolver) { $resolver->setDefault('name', function (Options $options) { return $this->faker->words(3, true); })->setDefault('code', function (Options $options) { return StringInflector::nameToCode($options['name']); })->setDefault('hostname', function (Options $options) { return $options['code'] . '.localhost'; })->setDefault('color', function (Options $options) { return $this->faker->colorName; })->setDefault('enabled', function (Options $options) { return $this->faker->boolean(90); })->setAllowedTypes('enabled', 'bool')->setDefault('tax_calculation_strategy', 'order_items_based')->setAllowedTypes('tax_calculation_strategy', 'string')->setDefault('default_locale', function (Options $options) { return $this->faker->randomElement($options['locales']); })->setAllowedTypes('default_locale', ['string', LocaleInterface::class])->setNormalizer('default_locale', LazyOption::findOneBy($this->localeRepository, 'code'))->setDefault('locales', LazyOption::all($this->localeRepository))->setAllowedTypes('locales', 'array')->setNormalizer('locales', LazyOption::findBy($this->localeRepository, 'code'))->setDefault('base_currency', function (Options $options) { return $this->faker->randomElement($options['currencies']); })->setAllowedTypes('base_currency', ['string', CurrencyInterface::class])->setNormalizer('base_currency', LazyOption::findOneBy($this->currencyRepository, 'code'))->setDefault('currencies', LazyOption::all($this->currencyRepository))->setAllowedTypes('currencies', 'array')->setNormalizer('currencies', LazyOption::findBy($this->currencyRepository, 'code'))->setDefault('theme_name', null); }
/** * @param string $element * * @return \Behat\Mink\Element\NodeElement|null * * @throws ElementNotFoundException */ private function getFieldElement($element) { $element = $this->getElement(StringInflector::nameToCode($element)); while (null !== $element && !$element->hasClass('field')) { $element = $element->getParent(); } return $element; }
/** * {@inheritdoc} */ protected function configureOptions(OptionsResolver $resolver) { $resolver->setDefault('code', function (Options $options) { return StringInflector::nameToCode($options['name']); })->setDefault('name', function (Options $options) { return $this->faker->words(3, true); })->setDefault('description', function (Options $options) { return $this->faker->sentence(); })->setDefault('enabled', function (Options $options) { return $this->faker->boolean(90); })->setAllowedTypes('enabled', 'bool')->setDefault('zone', LazyOption::randomOne($this->zoneRepository))->setAllowedTypes('zone', ['null', 'string', ZoneInterface::class])->setNormalizer('zone', LazyOption::findOneBy($this->zoneRepository, 'code'))->setDefined('shipping_category')->setAllowedTypes('shipping_category', ['null', 'string', ShippingCategoryInterface::class])->setNormalizer('shipping_category', LazyOption::findOneBy($this->shippingCategoryRepository, 'code'))->setDefault('calculator', function (Options $options) { $configuration = []; /** @var ChannelInterface $channel */ foreach ($options['channels'] as $channel) { $configuration[$channel->getCode()] = ['amount' => $this->faker->randomNumber(4)]; } return ['type' => DefaultCalculators::FLAT_RATE, 'configuration' => $configuration]; })->setDefault('channels', LazyOption::all($this->channelRepository))->setAllowedTypes('channels', 'array')->setNormalizer('channels', LazyOption::findBy($this->channelRepository, 'code')); }
/** * @param string $productName * * @return string */ private function convertToCode($productName) { return StringInflector::nameToUpercaseCode($productName); }