leadz / sylius-cmi-plugin
Sylius plugin to integrate CMI as payment method to sylius shop.
Installs: 406
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 3
Forks: 0
Open Issues: 1
Type:sylius-plugin
pkg:composer/leadz/sylius-cmi-plugin
Requires
- php: ^8.0
 - sylius/mailer-bundle: ^1.8 || ^2.0@beta
 - sylius/sylius: ^1.12
 - symfony/webpack-encore-bundle: ^1.15
 
Requires (Dev)
- 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.0
 - friends-of-behat/mink-extension: ^2.4
 - friends-of-behat/page-object-extension: ^0.3
 - friends-of-behat/suite-settings-extension: ^1.0
 - friends-of-behat/symfony-extension: ^2.1
 - friends-of-behat/variadic-extension: ^1.3
 - phpspec/phpspec: ^7.2
 - phpstan/extension-installer: ^1.0
 - phpstan/phpstan: ^1.8.1
 - phpstan/phpstan-doctrine: 1.3.37
 - phpstan/phpstan-strict-rules: ^1.3.0
 - phpstan/phpstan-webmozart-assert: ^1.2.0
 - phpunit/phpunit: ^9.5
 - polishsymfonycommunity/symfony-mocker-container: ^1.0
 - sylius-labs/coding-standard: ^4.2
 - symfony/browser-kit: ^5.4 || ^6.0
 - symfony/debug-bundle: ^5.4 || ^6.0
 - symfony/dotenv: ^5.4 || ^6.0
 - symfony/flex: ^2.2.2
 - symfony/intl: ^5.4 || ^6.0
 - symfony/web-profiler-bundle: ^5.4 || ^6.0
 - vimeo/psalm: 5.9.0
 
Conflicts
- symfony/framework-bundle: 6.2.8
 
README
Plugin Skeleton
Skeleton for starting Sylius plugins.
Documentation
For a comprehensive guide on Sylius Plugins development please go to Sylius documentation, there you will find the Plugin Development Guide, that is full of examples.
Quickstart Installation
Traditional
- 
Run
composer create-project sylius/plugin-skeleton ProjectName. - 
From the plugin skeleton root directory, run the following commands:
$ (cd tests/Application && yarn install) $ (cd tests/Application && yarn build) $ (cd tests/Application && APP_ENV=test bin/console assets:install public) $ (cd tests/Application && APP_ENV=test bin/console doctrine:database:create) $ (cd tests/Application && APP_ENV=test bin/console doctrine:schema:create)
 
To be able to set up a plugin's database, remember to configure you database credentials in tests/Application/.env and tests/Application/.env.test.
Docker
- 
Execute
docker compose up -d - 
Initialize plugin
docker compose exec app make init - 
See your browser
open localhost 
Usage
Running plugin tests
- 
PHPUnit
vendor/bin/phpunit
 - 
PHPSpec
vendor/bin/phpspec run
 - 
Behat (non-JS scenarios)
vendor/bin/behat --strict --tags="~@javascript" - 
Behat (JS scenarios)
- 
Start Headless Chrome:
 
google-chrome-stable --enable-automation --disable-background-networking --no-default-browser-check --no-first-run --disable-popup-blocking --disable-default-apps --allow-insecure-localhost --disable-translate --disable-extensions --no-sandbox --enable-features=Metal --headless --remote-debugging-port=9222 --window-size=2880,1800 --proxy-server='direct://' --proxy-bypass-list='*' http://127.0.0.1
- Install SSL certificates (only once needed) and run test application's webserver on 
127.0.0.1:8080: 
symfony server:ca:install APP_ENV=test symfony server:start --port=8080 --dir=tests/Application/public --daemon
- Run Behat:
 
vendor/bin/behat --strict --tags="@javascript" - 
Static Analysis
- 
Psalm
vendor/bin/psalm
 - 
PHPStan
vendor/bin/phpstan analyse -c phpstan.neon -l max src/
 
 - 
 - 
Coding Standard
vendor/bin/ecs check
 
Opening Sylius with your plugin
- 
Using
testenvironment:(cd tests/Application && APP_ENV=test bin/console sylius:fixtures:load) (cd tests/Application && APP_ENV=test bin/console server:run -d public)
 - 
Using
devenvironment:(cd tests/Application && APP_ENV=dev bin/console sylius:fixtures:load) (cd tests/Application && APP_ENV=dev bin/console server:run -d public)