diff --git a/composer.json b/composer.json index 3e2a089d..e1e072a2 100644 --- a/composer.json +++ b/composer.json @@ -114,31 +114,47 @@ ], "cs": "phpcs -s", "cs:fix": "phpcbf", - "stan": "APP_ENV=test php vendor/bin/phpstan analyse", + "stan": ["@putenv APP_ENV=test", "phpstan analyse"], "test": [ "@parallel test:unit test:db", "@parallel test:api test:cli" ], - "test:unit": "COLUMNS=120 vendor/bin/phpunit --order-by=random --testdox --testdox-summary", - "test:unit:ci": "XDEBUG_MODE=coverage composer test:unit -- --coverage-php=build/coverage-unit.cov", - "test:unit:pretty": "XDEBUG_MODE=coverage composer test:unit -- --coverage-html build/coverage-unit/coverage-html", + "test:unit": ["@putenv COLUMNS=120", "phpunit --order-by=random --testdox --testdox-summary"], + "test:unit:ci": ["@putenv XDEBUG_MODE=coverage", "@test:unit --coverage-php=build/coverage-unit.cov"], + "test:unit:pretty": ["@putenv XDEBUG_MODE=coverage", "@test:unit --coverage-html build/coverage-unit/coverage-html"], "test:db": "@parallel test:db:sqlite:ci test:db:mysql test:db:maria test:db:postgres test:db:ms", - "test:db:sqlite": "APP_ENV=test php vendor/bin/phpunit --order-by=random --testdox --testdox-summary -c phpunit-db.xml", - "test:db:sqlite:ci": "XDEBUG_MODE=coverage composer test:db:sqlite -- --coverage-php build/coverage-db.cov", - "test:db:mysql": "DB_DRIVER=mysql composer test:db:sqlite -- $*", - "test:db:maria": "DB_DRIVER=maria composer test:db:sqlite -- $*", - "test:db:postgres": "DB_DRIVER=postgres composer test:db:sqlite -- $*", - "test:db:ms": "DB_DRIVER=mssql composer test:db:sqlite -- $*", + "test:db:sqlite": ["@putenv APP_ENV=test", "phpunit --order-by=random --testdox --testdox-summary -c phpunit-db.xml"], + "test:db:sqlite:ci": ["@putenv XDEBUG_MODE=coverage", "@test:db:sqlite --coverage-php build/coverage-db.cov"], + "test:db:mysql": ["@putenv DB_DRIVER=mysql", "@test:db:sqlite"], + "test:db:maria": ["@putenv DB_DRIVER=maria", "@test:db:sqlite"], + "test:db:postgres": ["@putenv DB_DRIVER=postgres", "@test:db:sqlite"], + "test:db:ms": ["@putenv DB_DRIVER=mssql", "@test:db:sqlite"], "test:api": "bin/test/run-api-tests.sh", - "test:api:sqlite": "DB_DRIVER=sqlite composer test:api -- $*", - "test:api:mysql": "DB_DRIVER=mysql composer test:api -- $*", - "test:api:maria": "DB_DRIVER=maria composer test:api -- $*", - "test:api:mssql": "DB_DRIVER=mssql composer test:api -- $*", - "test:api:ci": "GENERATE_COVERAGE=yes composer test:api && vendor/bin/phpcov merge build/coverage-api --php build/coverage-api.cov && rm build/coverage-api/*.cov", - "test:api:pretty": "GENERATE_COVERAGE=yes composer test:api && vendor/bin/phpcov merge build/coverage-api --html build/coverage-api/coverage-html && rm build/coverage-api/*.cov", + "test:api:sqlite": ["@putenv DB_DRIVER=sqlite", "@test:api"], + "test:api:mysql": ["@putenv DB_DRIVER=mysql", "@test:api"], + "test:api:maria": ["@putenv DB_DRIVER=maria", "@test:api"], + "test:api:mssql": ["@putenv DB_DRIVER=mssql", "@test:api"], + "test:api:ci": [ + "@putenv GENERATE_COVERAGE=yes", + "@test:api", + "phpcov merge build/coverage-api --php build/coverage-api.cov && rm build/coverage-api/*.cov" + ], + "test:api:pretty": [ + "@putenv GENERATE_COVERAGE=yes", + "@test:api", + "phpcov merge build/coverage-api --html build/coverage-api/coverage-html && rm build/coverage-api/*.cov" + ], "test:cli": "bin/test/run-cli-tests.sh", - "test:cli:ci": "GENERATE_COVERAGE=yes composer test:cli && vendor/bin/phpcov merge build/coverage-cli --php build/coverage-cli.cov && rm build/coverage-cli/*.cov", - "test:cli:pretty": "GENERATE_COVERAGE=yes composer test:cli && vendor/bin/phpcov merge build/coverage-cli --html build/coverage-cli/coverage-html && rm build/coverage-cli/*.cov", + "test:cli:ci": [ + "@putenv GENERATE_COVERAGE=yes", + "@test:cli", + "vendor/bin/phpcov merge build/coverage-cli --php build/coverage-cli.cov && rm build/coverage-cli/*.cov" + ], + "test:cli:pretty": [ + "@putenv GENERATE_COVERAGE=yes", + "@test:cli", + "phpcov merge build/coverage-cli --html build/coverage-cli/coverage-html && rm build/coverage-cli/*.cov" + ], "swagger:validate": "php-openapi validate docs/swagger/swagger.json", "swagger:inline": "php-openapi inline docs/swagger/swagger.json docs/swagger/swagger-inlined.json", "clean:dev": "rm -f data/database.sqlite && rm -f config/params/generated_config.php"