We are using PHPStan, Psalm, Behat, PHPSpec and PHPUnit to test this plugin.
From the plugin root directory, run the following commands:
```bash
$ (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 setup a plugin's database, remember to configure you database credentials in tests/Application/.env
and tests/Application/.env.test
.
-
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/phpcs
$ vendor/bin/ecs check src
-
Using
test
environment:$ (cd tests/Application && APP_ENV=test bin/console sylius:fixtures:load vendor) $ (cd tests/Application && APP_ENV=test symfony server:start --document-root=public -d)
-
Using
dev
environment:$ (cd tests/Application && APP_ENV=dev bin/console sylius:fixtures:load vendor) $ (cd tests/Application && APP_ENV=dev symfony server:start --document-root=public -d)