{ "scripts": { "test": "composer test:unit", "test:unit": "vendor/bin/pest --testsuite=Unit --colors=always", "test:integration": "vendor/bin/pest --testsuite=Integration --colors=always", "test:api": [ "Composer\\Config::disableProcessTimeout", "@php -r \"putenv('RUN_API_TESTS=1'); putenv('CONFIG_DB_TARGET=debug'); passthru('vendor/bin/pest --testsuite=Api --colors=always', $exitCode); exit($exitCode);\"" ], "test:api:edge": [ "Composer\\Config::disableProcessTimeout", "@php -r \"putenv('RUN_API_TESTS=1'); putenv('API_TEST_BOOTSTRAP_SCHEMA=1'); putenv('CONFIG_DB_TARGET=debug'); putenv('API_TEST_REQUEST_TIMEOUT=180'); putenv('EDGE_GATEWAY_VIEW_CACHE_TTL=0'); putenv('EDGE_BROKER_URL'); passthru('vendor/bin/pest tests/Api/EdgeGateway*ApiTest.php --colors=always', $exitCode); exit($exitCode);\"" ], "test:integration:edge": [ "Composer\\Config::disableProcessTimeout", "@php -r \"putenv('RUN_INTEGRATION_TESTS=1'); putenv('CONFIG_DB_TARGET=debug'); putenv('EDGE_BROKER_URL'); passthru('vendor/bin/pest tests/Integration/EdgeGateway --colors=always', $exitCode); exit($exitCode);\"" ], "test:ci:unit": [ "Composer\\Config::disableProcessTimeout", "@php tests/Support/run_ci_suite.php unit" ], "test:ci:integration": [ "Composer\\Config::disableProcessTimeout", "@php tests/Support/run_ci_suite.php integration" ], "test:ci:api": [ "Composer\\Config::disableProcessTimeout", "@php tests/Support/run_ci_suite.php api" ], "test:ci:legacy": [ "Composer\\Config::disableProcessTimeout", "@php tests/Support/run_ci_suite.php legacy" ], "test:ci:all": [ "Composer\\Config::disableProcessTimeout", "@php tests/Support/run_ci_suite.php all" ], "test:coverage": [ "@php -r \"is_dir('build/logs') || mkdir('build/logs', 0777, true);\"", "@php -r \"if (extension_loaded('pcov')) { passthru('php -d pcov.enabled=1 vendor/bin/pest --testsuite=Unit --coverage --coverage-clover build/logs/clover.xml --colors=always', $exitCode); exit($exitCode); } if (extension_loaded('xdebug')) { passthru('php -d xdebug.mode=coverage vendor/bin/pest --testsuite=Unit --coverage --coverage-clover build/logs/clover.xml --colors=always', $exitCode); exit($exitCode); } fwrite(STDERR, 'No coverage driver available. Enable pcov or xdebug for test:coverage.' . PHP_EOL); exit(1);\"" ] }, "require-dev": { "rector/rector": "^1.2", "pestphp/pest": "^3.8", "phpunit/phpunit": "^11.5" }, "require": { "ext-mysqli": "*", "ext-openssl": "*", "ext-curl": "*", "ext-json": "*", "aws/aws-sdk-php": "^3.0", "predis/predis": "*", "phpmailer/phpmailer": "^6.9.2", "stripe/stripe-php": "^16.5", "php-http/guzzle7-adapter": "^1.1", "nyholm/psr7": "^1.8", "mailersend/mailersend": "^0.28.0", "spipu/html2pdf": "^5.3", "web-auth/webauthn-lib": "^5.2" }, "autoload": { "classmap": [ "classes/", "interfaces/", "traits/", "objects/", "modules/", "routes/", "statistics/" ], "exclude-from-classmap": [ "modules/*/vendor/", "modules/*/vendor/**" ] }, "config": { "allow-plugins": { "php-http/discovery": true, "tbachert/spi": true, "pestphp/pest-plugin": true } } }