mirror of
https://github.com/FOSSBilling/FOSSBilling.git
synced 2026-11-03 02:27:21 +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
83 lines
1.6 KiB
PHP
83 lines
1.6 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Copyright 2022-2026 FOSSBilling
|
|
* SPDX-License-Identifier: Apache-2.0.
|
|
*
|
|
* @copyright FOSSBilling (https://www.fossbilling.org)
|
|
* @license http://www.apache.org/licenses/LICENSE-2.0 Apache-2.0
|
|
*/
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Tests\Datasets;
|
|
|
|
/**
|
|
* Common country codes (ISO 3166-1 alpha-2).
|
|
*
|
|
* @return array<int, string>
|
|
*/
|
|
function countryCodes(): array
|
|
{
|
|
return [
|
|
'US', // United States
|
|
'GB', // United Kingdom
|
|
'CA', // Canada
|
|
'AU', // Australia
|
|
'DE', // Germany
|
|
'FR', // France
|
|
'ES', // Spain
|
|
'IT', // Italy
|
|
'NL', // Netherlands
|
|
'JP', // Japan
|
|
'CN', // China
|
|
'IN', // India
|
|
'BR', // Brazil
|
|
'MX', // Mexico
|
|
'RU', // Russia
|
|
'ZA', // South Africa
|
|
];
|
|
}
|
|
|
|
/**
|
|
* Common currency codes (ISO 4217).
|
|
*
|
|
* @return array<int, string>
|
|
*/
|
|
function currencyCodes(): array
|
|
{
|
|
return [
|
|
'USD', // US Dollar
|
|
'EUR', // Euro
|
|
'GBP', // British Pound
|
|
'JPY', // Japanese Yen
|
|
'CAD', // Canadian Dollar
|
|
'AUD', // Australian Dollar
|
|
'CHF', // Swiss Franc
|
|
'CNY', // Chinese Yuan
|
|
'INR', // Indian Rupee
|
|
'BRL', // Brazilian Real
|
|
'MXN', // Mexican Peso
|
|
'RUB', // Russian Ruble
|
|
'ZAR', // South African Rand
|
|
];
|
|
}
|
|
|
|
/**
|
|
* Currency data with code and rate pairs.
|
|
*
|
|
* @return array<int, array{0: string, 1: float}>
|
|
*/
|
|
function currencyRates(): array
|
|
{
|
|
return [
|
|
['USD', 1.0],
|
|
['EUR', 0.85],
|
|
['GBP', 0.73],
|
|
['JPY', 110.0],
|
|
['CAD', 1.25],
|
|
['AUD', 1.35],
|
|
['CHF', 0.92],
|
|
];
|
|
}
|