mirror of
https://github.com/FOSSBilling/FOSSBilling.git
synced 2026-10-23 03:37:01 +09:00
* Improve type safety, auth checks and PHPStan fixes (#3250) * Improve type safety, auth checks and PHPStan fixes * Remove @phpstan-ignore annotations * Improve type safety, auth checks and PHPStan fixes * Remove @phpstan-ignore annotations * Remove redundant @phpstan-ignore comment * Improve code robustness and reliability (#3248) * Harden code against null/undefined values * Update dependency lockfiles * Sanitize ticket input and use IDs in email list * Restructure tests and add test utilities * Move E2E tests to `Library\E2E` namespace * Update `php-build` action ref in workflows * Switch tests to Pest and add test scaffolding * Refactor E2E tests to Pest-style tests m Skip E2E tests when env not configured * Refactor Unit tests and update test config Add test datasets and refine test helpers * Add DEBUG guard, fix API JSON decode, update tests * Refactor tests: add types and Mockery expectations * Adjust tests, phpstan config, and composer script * Instantiate test APIs locally, remove beforeEach * Refactor runtime checks, types & logging * Apply PHP Code Styling Changes m * Add PHPStan ignores, test renames & small fixes * Enable Pest tests in CI workflow * Remove legacy tests; add new unit tests/config * Avoid undefined index in fingerprint comparison * Ignore properties absent in both fingerprints * Remove public_ticket_create API method * Add Fingerprint unit tests * Remove em dash from fingerprint test name * Switch to Pest; assorted bug fixes & refactors * Prefer getDi() and guard DEBUG define * Refactor tests: DBAL, Antispam rename, helpers * Refactor email tests to use Doctrine entities * Update tests, use DBAL mocks & improve Formbuilder admin * Validate plan_id and update unit tests * Replace error_log with DI logger and update tests * Expect db->store in Invoice Service test * Use DI logger instead of error_log; fix tests * Fix typo in Hook Service test * Fix Staff test spelling fixture * Complete Pest test migration * Fix Product test spelling fixtures * Fix Product test spelling fixtures * Run live tests with Pest and load helpers * Migrate tests to ApiClient; remove legacy APIHelper * Fix Email test spelling * Remove unused PHPUnit bridge * Organize Cypress end-to-end tests * Document Pest test directory root * Remove noisy Pest comments
34 lines
1.1 KiB
PHP
34 lines
1.1 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
use Tests\Helpers\ApiClient;
|
|
|
|
test('gets extension settings', function (): void {
|
|
$result = ApiClient::request('guest/extension/settings', ['ext' => 'index']);
|
|
|
|
expect($result->wasSuccessful())->toBeTrue()
|
|
->and($result->getResult())->toBeArray();
|
|
});
|
|
|
|
test('returns error when extension settings ext is missing', function (): void {
|
|
$result = ApiClient::request('guest/extension/settings', ['ext' => '']);
|
|
|
|
expect($result->wasSuccessful())->toBeFalse()
|
|
->and($result->getErrorMessage())->toBe('Parameter ext is missing');
|
|
});
|
|
|
|
test('reports active extension as enabled', function (): void {
|
|
$result = ApiClient::request('guest/extension/is_on', ['mod' => 'index']);
|
|
|
|
expect($result->wasSuccessful())->toBeTrue()
|
|
->and($result->getResult())->toBeTrue();
|
|
});
|
|
|
|
test('reports inactive extension as disabled', function (): void {
|
|
$result = ApiClient::request('guest/extension/is_on', ['mod' => 'serviceapikey']);
|
|
|
|
expect($result->wasSuccessful())->toBeTrue()
|
|
->and($result->getResult())->toBeFalse();
|
|
});
|