diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 99ed9722..14080aa9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -21,12 +21,15 @@ jobs: php: [7.4, 7.3] node: [10.x] mysql: [5.7, 8.0] - sylius: [1.8.*] + sylius: [dev-master, 1.8.*] exclude: - php: 7.3 mysql: 8.0 + - + php: 7.3 + sylius: dev-master env: APP_ENV: test @@ -78,6 +81,26 @@ jobs: name: Run webserver run: (cd tests/Application && symfony server:start --port=8080 --dir=public --daemon) + - + name: Install Sylius version + run: | + composer require "sylius/sylius:${{ matrix.sylius }}" --no-update + + - + name: Prepare proper configuration for version using sylius/sylius 1.9 + if: matrix.sylius != '1.8.*' + run: | + composer require babdev/pagerfanta-bundle + + - + name: Prepare proper configuration for version using sylius/sylius 1.8 + if: matrix.sylius == '1.8.*' + run: | + cp etc/sylius18/config/packages/dev/jms_serializer.yaml tests/Application/config/packages/dev/ + cp etc/sylius18/config/packages/prod/jms_serializer.yaml tests/Application/config/packages/prod/ + cp etc/sylius18/config/packages/jms_serializer.yaml tests/Application/config/packages/ + composer require white-october/pagerfanta-bundle + - name: Get Composer cache directory id: composer-cache @@ -124,10 +147,20 @@ jobs: run: (cd tests/Application && yarn install) - - name: Prepare test application database + name: Create test application database + run: (cd tests/Application && bin/console doctrine:database:create -vvv) + + - + name: Exclude duplicated migrations + if: matrix.sylius != '1.8.*' run: | - (cd tests/Application && bin/console doctrine:database:create -vvv) - (cd tests/Application && bin/console doctrine:migrations:migrate -n -vvv -q) + (cd tests/Application && bin/console doctrine:migration:sync-metadata-storage) + (cd tests/Application && bin/console doctrine:migrations:version 'Sylius\RefundPlugin\Migrations\Version20201204071301' --add) + (cd tests/Application && bin/console doctrine:migrations:version 'Sylius\RefundPlugin\Migrations\Version20201130071338' --add) + + - + name: Prepare test application database + run: (cd tests/Application && bin/console doctrine:migrations:migrate -n -vvv -q) - name: Prepare test application assets diff --git a/README.md b/README.md index e614e8b7..6846f0b8 100644 --- a/README.md +++ b/README.md @@ -57,14 +57,6 @@ It is used by `KnpSnappyBundle` and can be configured according to [their documm cp -R vendor/sylius/refund-plugin/src/Resources/views/SyliusAdminBundle/* templates/bundles/SyliusAdminBundle/ ``` -4. (optional) If you don't use `symfony/messenger` component yet, it is required to configure one of the message buses as a default bus: - - ```yaml - framework: - messenger: - default_bus: sylius_refund_plugin.command_bus - ``` - #### Beware! This installation instruction assumes that you're using Symfony Flex. If you don't, take a look at the diff --git a/behat.yml.dist b/behat.yml.dist index e44792f2..80935662 100644 --- a/behat.yml.dist +++ b/behat.yml.dist @@ -6,7 +6,7 @@ default: extensions: DMore\ChromeExtension\Behat\ServiceContainer\ChromeExtension: ~ - Lakion\Behat\MinkDebugExtension: + FriendsOfBehat\MinkDebugExtension: directory: etc/build clean_start: false screenshot: true diff --git a/composer.json b/composer.json index 62f1d58c..888903fb 100644 --- a/composer.json +++ b/composer.json @@ -20,26 +20,28 @@ ], "require": { "php": "^7.3", - "knplabs/knp-snappy-bundle": "^1.7", + "friendsofsymfony/oauth-server-bundle": "^1.6 || >2.0.0-alpha.0 ^2.0@dev", + "jms/serializer-bundle": "^2.4 || ^3.5", + "doctrine/doctrine-migrations-bundle": "^3.0", + "knplabs/knp-snappy-bundle": "^1.8", "myclabs/php-enum": "^1.7", - "sylius/resource-bundle": "^1.6", - "sylius/sylius": "^1.8", + "sylius/resource-bundle": "^1.6 || ^1.7", "symfony/messenger": "^4.4" }, "require-dev": { - "behat/behat": "^3.6", - "behat/mink": "^1.8", - "behat/mink-browserkit-driver": "^1.3", - "behat/mink-extension": "^2.3", + "behat/behat": "^3.6.1", "behat/mink-selenium2-driver": "^1.4", "dmore/behat-chrome-extension": "^1.3", "dmore/chrome-mink-driver": "^2.7", + "friends-of-behat/mink": "^1.8", + "friends-of-behat/mink-browserkit-driver": "^1.4", + "friends-of-behat/mink-debug-extension": "^2.0", "friends-of-behat/page-object-extension": "^0.3", "friends-of-behat/suite-settings-extension": "^1.0", + "friends-of-behat/mink-extension": "^2.4", "friends-of-behat/symfony-extension": "^2.1", "friends-of-behat/variadic-extension": "^1.3", - "lakion/mink-debug-extension": "^1.2.3", - "phpspec/phpspec": "^6.0", + "phpspec/phpspec": "^7.0", "phpstan/phpstan": "0.12.29", "phpstan/phpstan-webmozart-assert": "0.12.6", "phpunit/phpunit": "^8.5", diff --git a/docs/legacy_installation.md b/docs/legacy_installation.md index d88d7cc3..ea487a9a 100644 --- a/docs/legacy_installation.md +++ b/docs/legacy_installation.md @@ -57,11 +57,3 @@ ```bash bin/console cache:clear ``` - -9. (optional) If you don't use `symfony/messenger` component yet, it is required to configure one of the message buses as a default bus: - - ```yaml - framework: - messenger: - default_bus: sylius_refund_plugin.command_bus - ``` diff --git a/etc/sylius18/config/packages/dev/jms_serializer.yaml b/etc/sylius18/config/packages/dev/jms_serializer.yaml new file mode 100644 index 00000000..353e4602 --- /dev/null +++ b/etc/sylius18/config/packages/dev/jms_serializer.yaml @@ -0,0 +1,7 @@ +jms_serializer: + visitors: + json: + options: + - JSON_PRETTY_PRINT + - JSON_UNESCAPED_SLASHES + - JSON_PRESERVE_ZERO_FRACTION diff --git a/etc/sylius18/config/packages/jms_serializer.yaml b/etc/sylius18/config/packages/jms_serializer.yaml new file mode 100644 index 00000000..64dd8d10 --- /dev/null +++ b/etc/sylius18/config/packages/jms_serializer.yaml @@ -0,0 +1,4 @@ +jms_serializer: + visitors: + xml: + format_output: '%kernel.debug%' diff --git a/etc/sylius18/config/packages/prod/jms_serializer.yaml b/etc/sylius18/config/packages/prod/jms_serializer.yaml new file mode 100644 index 00000000..bc97faf1 --- /dev/null +++ b/etc/sylius18/config/packages/prod/jms_serializer.yaml @@ -0,0 +1,6 @@ +jms_serializer: + visitors: + json: + options: + - JSON_UNESCAPED_SLASHES + - JSON_PRESERVE_ZERO_FRACTION diff --git a/spec/CommandHandler/GenerateCreditMemoHandlerSpec.php b/spec/CommandHandler/GenerateCreditMemoHandlerSpec.php index d4c98764..4e42b26a 100644 --- a/spec/CommandHandler/GenerateCreditMemoHandlerSpec.php +++ b/spec/CommandHandler/GenerateCreditMemoHandlerSpec.php @@ -4,7 +4,7 @@ namespace spec\Sylius\RefundPlugin\CommandHandler; -use Doctrine\Common\Persistence\ObjectManager; +use Doctrine\Persistence\ObjectManager; use PhpSpec\ObjectBehavior; use Sylius\Component\Core\Model\OrderInterface; use Sylius\Component\Core\Repository\OrderRepositoryInterface; diff --git a/spec/Creator/RefundCreatorSpec.php b/spec/Creator/RefundCreatorSpec.php index 042b94d5..b5f344dc 100644 --- a/spec/Creator/RefundCreatorSpec.php +++ b/spec/Creator/RefundCreatorSpec.php @@ -4,7 +4,7 @@ namespace spec\Sylius\RefundPlugin\Creator; -use Doctrine\Common\Persistence\ObjectManager; +use Doctrine\Persistence\ObjectManager; use PhpSpec\ObjectBehavior; use Sylius\RefundPlugin\Creator\RefundCreatorInterface; use Sylius\RefundPlugin\Entity\RefundInterface; diff --git a/spec/Generator/CreditMemoPdfFileGeneratorSpec.php b/spec/Generator/CreditMemoPdfFileGeneratorSpec.php index 7c3cc511..8479a9e0 100644 --- a/spec/Generator/CreditMemoPdfFileGeneratorSpec.php +++ b/spec/Generator/CreditMemoPdfFileGeneratorSpec.php @@ -12,13 +12,13 @@ use Sylius\RefundPlugin\Generator\CreditMemoPdfFileGeneratorInterface; use Sylius\RefundPlugin\Model\CreditMemoPdf; use Symfony\Component\Config\FileLocatorInterface; -use Symfony\Component\Templating\EngineInterface; +use Twig\Environment; final class CreditMemoPdfFileGeneratorSpec extends ObjectBehavior { function let( RepositoryInterface $creditMemoRepository, - EngineInterface $twig, + Environment $twig, GeneratorInterface $pdfGenerator, FileLocatorInterface $fileLocator ): void { @@ -39,7 +39,7 @@ function it_implements_credit_memo_pdf_file_generator_interface(): void function it_creates_credit_memo_pdf_with_generated_content_and_filename_basing_on_credit_memo_number( RepositoryInterface $creditMemoRepository, - EngineInterface $twig, + Environment $twig, GeneratorInterface $pdfGenerator, FileLocatorInterface $fileLocator, CreditMemoInterface $creditMemo diff --git a/spec/Generator/SequentialNumberGeneratorSpec.php b/spec/Generator/SequentialNumberGeneratorSpec.php index a6172150..30812105 100644 --- a/spec/Generator/SequentialNumberGeneratorSpec.php +++ b/spec/Generator/SequentialNumberGeneratorSpec.php @@ -4,9 +4,9 @@ namespace spec\Sylius\RefundPlugin\Generator; -use Doctrine\Common\Persistence\ObjectRepository; use Doctrine\DBAL\LockMode; use Doctrine\ORM\EntityManagerInterface; +use Doctrine\Persistence\ObjectRepository; use PhpSpec\ObjectBehavior; use Sylius\RefundPlugin\Entity\CreditMemoSequenceInterface; use Sylius\RefundPlugin\Factory\CreditMemoSequenceFactoryInterface; diff --git a/spec/StateResolver/OrderFullyRefundedStateResolverSpec.php b/spec/StateResolver/OrderFullyRefundedStateResolverSpec.php index e1d8716f..2fbb833e 100644 --- a/spec/StateResolver/OrderFullyRefundedStateResolverSpec.php +++ b/spec/StateResolver/OrderFullyRefundedStateResolverSpec.php @@ -4,7 +4,7 @@ namespace spec\Sylius\RefundPlugin\StateResolver; -use Doctrine\Common\Persistence\ObjectManager; +use Doctrine\Persistence\ObjectManager; use PhpSpec\ObjectBehavior; use Prophecy\Argument; use SM\Factory\FactoryInterface; diff --git a/spec/StateResolver/OrderPartiallyRefundedStateResolverSpec.php b/spec/StateResolver/OrderPartiallyRefundedStateResolverSpec.php index 3c1509e8..dd6adfd1 100644 --- a/spec/StateResolver/OrderPartiallyRefundedStateResolverSpec.php +++ b/spec/StateResolver/OrderPartiallyRefundedStateResolverSpec.php @@ -4,7 +4,7 @@ namespace spec\Sylius\RefundPlugin\StateResolver; -use Doctrine\Common\Persistence\ObjectManager; +use Doctrine\Persistence\ObjectManager; use PhpSpec\ObjectBehavior; use Prophecy\Argument; use SM\Factory\FactoryInterface; diff --git a/spec/StateResolver/RefundPaymentCompletedStateApplierSpec.php b/spec/StateResolver/RefundPaymentCompletedStateApplierSpec.php index 8301e176..c7abe83e 100644 --- a/spec/StateResolver/RefundPaymentCompletedStateApplierSpec.php +++ b/spec/StateResolver/RefundPaymentCompletedStateApplierSpec.php @@ -4,7 +4,7 @@ namespace spec\Sylius\RefundPlugin\StateResolver; -use Doctrine\Common\Persistence\ObjectManager; +use Doctrine\Persistence\ObjectManager; use PhpSpec\ObjectBehavior; use SM\Factory\FactoryInterface as StateMachineFactoryInterface; use SM\StateMachine\StateMachineInterface; diff --git a/src/Action/CompleteRefundPaymentAction.php b/src/Action/CompleteRefundPaymentAction.php index e415dab2..bf9607af 100644 --- a/src/Action/CompleteRefundPaymentAction.php +++ b/src/Action/CompleteRefundPaymentAction.php @@ -4,7 +4,7 @@ namespace Sylius\RefundPlugin\Action; -use Doctrine\Common\Persistence\ObjectRepository; +use Doctrine\Persistence\ObjectRepository; use Sylius\Component\Core\Model\OrderInterface; use Sylius\Component\Core\Repository\OrderRepositoryInterface; use Sylius\RefundPlugin\Entity\RefundPaymentInterface; diff --git a/src/CommandHandler/GenerateCreditMemoHandler.php b/src/CommandHandler/GenerateCreditMemoHandler.php index 044bc87e..903e2a1f 100644 --- a/src/CommandHandler/GenerateCreditMemoHandler.php +++ b/src/CommandHandler/GenerateCreditMemoHandler.php @@ -4,7 +4,7 @@ namespace Sylius\RefundPlugin\CommandHandler; -use Doctrine\Common\Persistence\ObjectManager; +use Doctrine\Persistence\ObjectManager; use Sylius\Component\Core\Model\OrderInterface; use Sylius\Component\Core\Repository\OrderRepositoryInterface; use Sylius\RefundPlugin\Command\GenerateCreditMemo; diff --git a/src/Creator/RefundCreator.php b/src/Creator/RefundCreator.php index 35610cc8..5c3a32b5 100644 --- a/src/Creator/RefundCreator.php +++ b/src/Creator/RefundCreator.php @@ -4,7 +4,7 @@ namespace Sylius\RefundPlugin\Creator; -use Doctrine\Common\Persistence\ObjectManager; +use Doctrine\Persistence\ObjectManager; use Sylius\RefundPlugin\Exception\UnitAlreadyRefundedException; use Sylius\RefundPlugin\Factory\RefundFactoryInterface; use Sylius\RefundPlugin\Model\RefundType; diff --git a/src/DependencyInjection/Configuration.php b/src/DependencyInjection/Configuration.php index 71079858..1ba71b73 100644 --- a/src/DependencyInjection/Configuration.php +++ b/src/DependencyInjection/Configuration.php @@ -9,14 +9,8 @@ final class Configuration implements ConfigurationInterface { - /** - * {@inheritdoc} - */ public function getConfigTreeBuilder(): TreeBuilder { - $treeBuilder = new TreeBuilder(); - $rootNode = $treeBuilder->root('sylius_refund_plugin'); - - return $treeBuilder; + return new TreeBuilder('sylius_refund_plugin'); } } diff --git a/src/Generator/CreditMemoPdfFileGenerator.php b/src/Generator/CreditMemoPdfFileGenerator.php index a23f6984..b44db35b 100644 --- a/src/Generator/CreditMemoPdfFileGenerator.php +++ b/src/Generator/CreditMemoPdfFileGenerator.php @@ -10,7 +10,7 @@ use Sylius\RefundPlugin\Exception\CreditMemoNotFound; use Sylius\RefundPlugin\Model\CreditMemoPdf; use Symfony\Component\Config\FileLocatorInterface; -use Symfony\Component\Templating\EngineInterface; +use Twig\Environment; final class CreditMemoPdfFileGenerator implements CreditMemoPdfFileGeneratorInterface { @@ -19,7 +19,7 @@ final class CreditMemoPdfFileGenerator implements CreditMemoPdfFileGeneratorInte /** @var RepositoryInterface */ private $creditMemoRepository; - /** @var EngineInterface */ + /** @var Environment */ private $twig; /** @var GeneratorInterface */ @@ -36,7 +36,7 @@ final class CreditMemoPdfFileGenerator implements CreditMemoPdfFileGeneratorInte public function __construct( RepositoryInterface $creditMemoRepository, - EngineInterface $twig, + Environment $twig, GeneratorInterface $pdfGenerator, FileLocatorInterface $fileLocator, string $template, diff --git a/src/Generator/SequentialNumberGenerator.php b/src/Generator/SequentialNumberGenerator.php index dfbc5fd2..69b8043a 100644 --- a/src/Generator/SequentialNumberGenerator.php +++ b/src/Generator/SequentialNumberGenerator.php @@ -4,9 +4,9 @@ namespace Sylius\RefundPlugin\Generator; -use Doctrine\Common\Persistence\ObjectRepository; use Doctrine\DBAL\LockMode; use Doctrine\ORM\EntityManagerInterface; +use Doctrine\Persistence\ObjectRepository; use Sylius\RefundPlugin\Entity\CreditMemoSequenceInterface; use Sylius\RefundPlugin\Factory\CreditMemoSequenceFactoryInterface; use Sylius\RefundPlugin\Provider\CurrentDateTimeImmutableProviderInterface; diff --git a/src/Resources/config/admin_routing.yml b/src/Resources/config/admin_routing.yml index 8312386c..0a0b2e72 100644 --- a/src/Resources/config/admin_routing.yml +++ b/src/Resources/config/admin_routing.yml @@ -9,20 +9,19 @@ sylius_refund_refund_units: defaults: _controller: Sylius\RefundPlugin\Action\Admin\RefundUnitsAction -sylius_refund_credit_memo: - resource: | - alias: sylius_refund.credit_memo - section: admin - templates: SyliusAdminBundle:Crud - only: ['index'] - grid: sylius_refund_credit_memo - permission: true - vars: - all: - subheader: sylius_refund.ui.manage_credit_memos - index: - icon: inbox - type: sylius.resource +sylius_refund_admin_credit_memo_index: + path: /credit-memos + methods: [GET] + defaults: + _controller: sylius_refund.controller.credit_memo:indexAction + _sylius: + template: "@SyliusAdmin/Crud/index.html.twig" + grid: sylius_refund_credit_memo + vars: + all: + subheader: sylius_refund.ui.manage_credit_memos + index: + icon: inbox sylius_refund_order_credit_memos_list: path: /orders/{orderId}/credit-memos diff --git a/src/Resources/config/app/config.yml b/src/Resources/config/app/config.yml index 1701d811..31df8d6b 100644 --- a/src/Resources/config/app/config.yml +++ b/src/Resources/config/app/config.yml @@ -29,7 +29,6 @@ sylius_mailer: framework: messenger: buses: - sylius_refund_plugin.command_bus: ~ sylius_refund_plugin.event_bus: default_middleware: allow_no_handlers diff --git a/src/Resources/config/services/actions.xml b/src/Resources/config/services/actions.xml index 922b04e1..1803fca4 100644 --- a/src/Resources/config/services/actions.xml +++ b/src/Resources/config/services/actions.xml @@ -25,7 +25,7 @@ - + @@ -41,7 +41,7 @@ - + diff --git a/src/Resources/config/services/command_bus.xml b/src/Resources/config/services/command_bus.xml index a47c5473..437abfaa 100644 --- a/src/Resources/config/services/command_bus.xml +++ b/src/Resources/config/services/command_bus.xml @@ -10,7 +10,7 @@ - + @@ -18,13 +18,13 @@ - + - + diff --git a/src/Resources/config/services/event_bus.xml b/src/Resources/config/services/event_bus.xml index c86065f4..ac10d8c2 100644 --- a/src/Resources/config/services/event_bus.xml +++ b/src/Resources/config/services/event_bus.xml @@ -20,7 +20,7 @@ - + diff --git a/src/Resources/config/services/generator.xml b/src/Resources/config/services/generator.xml index 5721b83b..92a33ff5 100644 --- a/src/Resources/config/services/generator.xml +++ b/src/Resources/config/services/generator.xml @@ -22,7 +22,7 @@ - + @SyliusRefundPlugin/Download/creditMemo.html.twig diff --git a/src/Resources/views/Grid/Filter/channel.html.twig b/src/Resources/views/Grid/Filter/channel.html.twig index e43316fc..81480fcd 100644 --- a/src/Resources/views/Grid/Filter/channel.html.twig +++ b/src/Resources/views/Grid/Filter/channel.html.twig @@ -1,3 +1,3 @@ -{% form_theme form 'SyliusUiBundle:Form:theme.html.twig' %} +{% form_theme form '@SyliusUi/Form/theme.html.twig' %} {{ form_row(form) }} diff --git a/src/Resources/views/orderRefunds.html.twig b/src/Resources/views/orderRefunds.html.twig index f557ca6e..89694c5c 100644 --- a/src/Resources/views/orderRefunds.html.twig +++ b/src/Resources/views/orderRefunds.html.twig @@ -1,4 +1,4 @@ -{% extends 'SyliusAdminBundle::layout.html.twig' %} +{% extends '@SyliusAdmin/layout.html.twig' %} {% block title %}{{ 'sylius.ui.order'|trans ~' #'~ order.number }} {{ 'sylius_refund.ui.refunds'|trans }} {{ parent() }}{% endblock %} diff --git a/src/StateResolver/OrderFullyRefundedStateResolver.php b/src/StateResolver/OrderFullyRefundedStateResolver.php index ee0c948b..18f6e6fa 100644 --- a/src/StateResolver/OrderFullyRefundedStateResolver.php +++ b/src/StateResolver/OrderFullyRefundedStateResolver.php @@ -4,7 +4,7 @@ namespace Sylius\RefundPlugin\StateResolver; -use Doctrine\Common\Persistence\ObjectManager; +use Doctrine\Persistence\ObjectManager; use SM\Factory\FactoryInterface; use Sylius\Component\Core\Model\OrderInterface; use Sylius\Component\Core\OrderPaymentStates; diff --git a/src/StateResolver/OrderPartiallyRefundedStateResolver.php b/src/StateResolver/OrderPartiallyRefundedStateResolver.php index 4ed218de..90d25c4f 100644 --- a/src/StateResolver/OrderPartiallyRefundedStateResolver.php +++ b/src/StateResolver/OrderPartiallyRefundedStateResolver.php @@ -4,7 +4,7 @@ namespace Sylius\RefundPlugin\StateResolver; -use Doctrine\Common\Persistence\ObjectManager; +use Doctrine\Persistence\ObjectManager; use SM\Factory\FactoryInterface; use Sylius\Component\Core\Model\OrderInterface; use Sylius\Component\Core\OrderPaymentStates; diff --git a/src/StateResolver/RefundPaymentCompletedStateApplier.php b/src/StateResolver/RefundPaymentCompletedStateApplier.php index 570d5408..45bc1133 100644 --- a/src/StateResolver/RefundPaymentCompletedStateApplier.php +++ b/src/StateResolver/RefundPaymentCompletedStateApplier.php @@ -4,7 +4,7 @@ namespace Sylius\RefundPlugin\StateResolver; -use Doctrine\Common\Persistence\ObjectManager; +use Doctrine\Persistence\ObjectManager; use SM\Factory\FactoryInterface as StateMachineFactoryInterface; use Sylius\RefundPlugin\Entity\RefundPaymentInterface; diff --git a/tests/Application/.env b/tests/Application/.env index 716bf2a3..af1c3d85 100644 --- a/tests/Application/.env +++ b/tests/Application/.env @@ -12,7 +12,7 @@ APP_SECRET=EDITME # Format described at http://docs.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#connecting-using-a-url # For a sqlite database, use: "sqlite:///%kernel.project_dir%/var/data.db" # Set "serverVersion" to your server version to avoid edge-case exceptions and extra database calls -DATABASE_URL=mysql://root@127.0.0.1/sylius_refund_plugin_%kernel.environment%?serverVersion=5.5 +DATABASE_URL=mysql://root@127.0.0.1/sylius_refund_plugin_%kernel.environment%?serverVersion=5.7 ###< doctrine/doctrine-bundle ### ###> symfony/swiftmailer-bundle ### diff --git a/tests/Application/config/bundles.php b/tests/Application/config/bundles.php index 2ac911a9..419f2d69 100644 --- a/tests/Application/config/bundles.php +++ b/tests/Application/config/bundles.php @@ -7,7 +7,6 @@ Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle::class => ['all' => true], Symfony\Bundle\TwigBundle\TwigBundle::class => ['all' => true], Doctrine\Bundle\DoctrineBundle\DoctrineBundle::class => ['all' => true], - Doctrine\Bundle\DoctrineCacheBundle\DoctrineCacheBundle::class => ['all' => true], Sylius\Bundle\OrderBundle\SyliusOrderBundle::class => ['all' => true], Sylius\Bundle\MoneyBundle\SyliusMoneyBundle::class => ['all' => true], Sylius\Bundle\CurrencyBundle\SyliusCurrencyBundle::class => ['all' => true], @@ -40,7 +39,6 @@ Liip\ImagineBundle\LiipImagineBundle::class => ['all' => true], Payum\Bundle\PayumBundle\PayumBundle::class => ['all' => true], Stof\DoctrineExtensionsBundle\StofDoctrineExtensionsBundle::class => ['all' => true], - WhiteOctober\PagerfantaBundle\WhiteOctoberPagerfantaBundle::class => ['all' => true], Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle::class => ['all' => true], Sylius\Bundle\FixturesBundle\SyliusFixturesBundle::class => ['all' => true], Sylius\Bundle\PayumBundle\SyliusPayumBundle::class => ['all' => true], diff --git a/tests/Application/config/packages/_sylius.yaml b/tests/Application/config/packages/_sylius.yaml index 8ad31ca4..aa0c8387 100644 --- a/tests/Application/config/packages/_sylius.yaml +++ b/tests/Application/config/packages/_sylius.yaml @@ -6,6 +6,8 @@ imports: - { resource: "@SyliusShopBundle/Resources/config/app/config.yml" } + - { resource: "@SyliusApiBundle/Resources/config/app/config.yaml" } + parameters: sylius_core.public_dir: '%kernel.project_dir%/public' diff --git a/tests/Application/config/packages/dev/jms_serializer.yaml b/tests/Application/config/packages/dev/jms_serializer.yaml index 353e4602..2f32a9b1 100644 --- a/tests/Application/config/packages/dev/jms_serializer.yaml +++ b/tests/Application/config/packages/dev/jms_serializer.yaml @@ -1,6 +1,11 @@ jms_serializer: visitors: - json: + json_serialization: + options: + - JSON_PRETTY_PRINT + - JSON_UNESCAPED_SLASHES + - JSON_PRESERVE_ZERO_FRACTION + json_deserialization: options: - JSON_PRETTY_PRINT - JSON_UNESCAPED_SLASHES diff --git a/tests/Application/config/packages/framework.yaml b/tests/Application/config/packages/framework.yaml index e74ed811..9b445011 100644 --- a/tests/Application/config/packages/framework.yaml +++ b/tests/Application/config/packages/framework.yaml @@ -2,6 +2,5 @@ framework: secret: '%env(APP_SECRET)%' form: true csrf_protection: true - templating: { engines: ["twig"] } session: handler_id: ~ diff --git a/tests/Application/config/packages/jms_serializer.yaml b/tests/Application/config/packages/jms_serializer.yaml index 64dd8d10..ed7bc613 100644 --- a/tests/Application/config/packages/jms_serializer.yaml +++ b/tests/Application/config/packages/jms_serializer.yaml @@ -1,4 +1,4 @@ jms_serializer: visitors: - xml: + xml_serialization: format_output: '%kernel.debug%' diff --git a/tests/Application/config/packages/prod/jms_serializer.yaml b/tests/Application/config/packages/prod/jms_serializer.yaml index bc97faf1..c2881820 100644 --- a/tests/Application/config/packages/prod/jms_serializer.yaml +++ b/tests/Application/config/packages/prod/jms_serializer.yaml @@ -1,6 +1,10 @@ jms_serializer: visitors: - json: + json_serialization: + options: + - JSON_UNESCAPED_SLASHES + - JSON_PRESERVE_ZERO_FRACTION + json_deserialization: options: - JSON_UNESCAPED_SLASHES - JSON_PRESERVE_ZERO_FRACTION diff --git a/tests/Application/config/packages/sylius_refund.yaml b/tests/Application/config/packages/sylius_refund.yaml index e220f095..ce7ff8ae 100644 --- a/tests/Application/config/packages/sylius_refund.yaml +++ b/tests/Application/config/packages/sylius_refund.yaml @@ -1,6 +1,2 @@ imports: - { resource: "@SyliusRefundPlugin/Resources/config/app/config.yml" } - -framework: - messenger: - default_bus: sylius_refund_plugin.command_bus diff --git a/tests/Application/config/packages/test/sylius_refund.yaml b/tests/Application/config/packages/test/sylius_refund.yaml deleted file mode 100644 index 7e7dcfa9..00000000 --- a/tests/Application/config/packages/test/sylius_refund.yaml +++ /dev/null @@ -1,3 +0,0 @@ -framework: - messenger: - default_bus: sylius_refund_plugin.command_bus diff --git a/tests/Behat/Context/Application/CreditMemoContext.php b/tests/Behat/Context/Application/CreditMemoContext.php index b7f41ba2..9a7eccf4 100644 --- a/tests/Behat/Context/Application/CreditMemoContext.php +++ b/tests/Behat/Context/Application/CreditMemoContext.php @@ -5,13 +5,10 @@ namespace Tests\Sylius\RefundPlugin\Behat\Context\Application; use Behat\Behat\Context\Context; -use Behat\Behat\Tester\Exception\PendingException; -use Doctrine\Common\Persistence\ObjectRepository; +use Doctrine\Persistence\ObjectRepository; use Sylius\Component\Addressing\Model\CountryInterface; use Sylius\Component\Core\Model\OrderInterface; use Sylius\RefundPlugin\Entity\CreditMemoInterface; -use Sylius\RefundPlugin\Entity\CustomerBillingData; -use Sylius\RefundPlugin\Entity\ShopBillingData; use Sylius\RefundPlugin\Entity\TaxItemInterface; use Sylius\RefundPlugin\Provider\CurrentDateTimeImmutableProviderInterface; use Webmozart\Assert\Assert; diff --git a/tests/Behat/Context/Setup/ChannelContext.php b/tests/Behat/Context/Setup/ChannelContext.php index 481a372b..067e141e 100644 --- a/tests/Behat/Context/Setup/ChannelContext.php +++ b/tests/Behat/Context/Setup/ChannelContext.php @@ -5,7 +5,7 @@ namespace Tests\Sylius\RefundPlugin\Behat\Context\Setup; use Behat\Behat\Context\Context; -use Doctrine\Common\Persistence\ObjectManager; +use Doctrine\Persistence\ObjectManager; use Sylius\Behat\Service\SharedStorageInterface; use Sylius\Component\Core\Formatter\StringInflector; use Sylius\Component\Core\Test\Services\DefaultChannelFactoryInterface; diff --git a/tests/Behat/Context/Setup/OrderContext.php b/tests/Behat/Context/Setup/OrderContext.php index 7637f762..ec260290 100644 --- a/tests/Behat/Context/Setup/OrderContext.php +++ b/tests/Behat/Context/Setup/OrderContext.php @@ -5,7 +5,7 @@ namespace Tests\Sylius\RefundPlugin\Behat\Context\Setup; use Behat\Behat\Context\Context; -use Doctrine\Common\Persistence\ObjectManager; +use Doctrine\Persistence\ObjectManager; use Sylius\Component\Core\Model\ChannelInterface; use Sylius\Component\Core\Model\OrderInterface; diff --git a/tests/Behat/Context/Setup/RefundingContext.php b/tests/Behat/Context/Setup/RefundingContext.php index ab3e12bc..c827f4e7 100644 --- a/tests/Behat/Context/Setup/RefundingContext.php +++ b/tests/Behat/Context/Setup/RefundingContext.php @@ -10,7 +10,10 @@ use Sylius\Component\Core\Model\OrderItemUnitInterface; use Sylius\Component\Core\Model\PaymentMethodInterface; use Sylius\Component\Core\Repository\OrderRepositoryInterface; +use Sylius\Component\Resource\Repository\RepositoryInterface; use Sylius\RefundPlugin\Command\RefundUnits; +use Sylius\RefundPlugin\Command\SendCreditMemo; +use Sylius\RefundPlugin\Entity\CreditMemoInterface; use Sylius\RefundPlugin\Model\OrderItemUnitRefund; use Sylius\RefundPlugin\Model\ShipmentRefund; use Symfony\Component\Messenger\MessageBusInterface; @@ -21,12 +24,19 @@ final class RefundingContext implements Context /** @var OrderRepositoryInterface */ private $orderRepository; + /** @var RepositoryInterface */ + private $creditMemoRepository; + /** @var MessageBusInterface */ private $commandBus; - public function __construct(OrderRepositoryInterface $orderRepository, MessageBusInterface $commandBus) - { + public function __construct( + OrderRepositoryInterface $orderRepository, + RepositoryInterface $creditMemoRepository, + MessageBusInterface $commandBus + ) { $this->orderRepository = $orderRepository; + $this->creditMemoRepository = $creditMemoRepository; $this->commandBus = $commandBus; } @@ -55,6 +65,11 @@ public function productFromOrderHasAlreadyBeenRefunded( $paymentMethod->getId(), '' )); + + /** @var CreditMemoInterface $creditMemo */ + $creditMemo = $this->creditMemoRepository->findOneBy(['order' => $order]); + + $this->commandBus->dispatch(new SendCreditMemo($creditMemo->getNumber())); } /** diff --git a/tests/Behat/Context/Ui/CreditMemoContext.php b/tests/Behat/Context/Ui/CreditMemoContext.php index b0ba62d4..172776d2 100644 --- a/tests/Behat/Context/Ui/CreditMemoContext.php +++ b/tests/Behat/Context/Ui/CreditMemoContext.php @@ -5,7 +5,7 @@ namespace Tests\Sylius\RefundPlugin\Behat\Context\Ui; use Behat\Behat\Context\Context; -use Doctrine\Common\Persistence\ObjectRepository; +use Doctrine\Persistence\ObjectRepository; use Sylius\Behat\Page\Admin\Order\ShowPageInterface; use Sylius\Component\Addressing\Model\CountryInterface; use Sylius\Component\Core\Model\OrderInterface; @@ -32,7 +32,7 @@ final class CreditMemoContext implements Context /** @var ObjectRepository */ private $creditMemoRepository; - /** @var CurrentDateTimeProviderInterface */ + /** @var CurrentDateTimeImmutableProviderInterface */ private $currentDateTimeImmutableProvider; public function __construct( diff --git a/tests/Behat/Resources/services.xml b/tests/Behat/Resources/services.xml index b6bc5fa2..00077b3f 100644 --- a/tests/Behat/Resources/services.xml +++ b/tests/Behat/Resources/services.xml @@ -31,7 +31,7 @@ - + @@ -63,7 +63,8 @@ - + +