mirror of
https://github.com/solidtime-io/solidtime.git
synced 2026-05-07 20:32:26 +00:00
Fixed failing tests because of legacy currency codes
This commit is contained in:
@@ -4,6 +4,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace App\Service;
|
||||
|
||||
use Brick\Money\ISOCurrencyProvider;
|
||||
use Brick\Money\Money;
|
||||
|
||||
class CurrencyService
|
||||
@@ -374,4 +375,12 @@ class CurrencyService
|
||||
|
||||
return $currencyCode;
|
||||
}
|
||||
|
||||
public function getRandomCurrencyCode(): string
|
||||
{
|
||||
$currencies = ISOCurrencyProvider::getInstance()->getAvailableCurrencies();
|
||||
$currencyCodes = array_keys($currencies);
|
||||
|
||||
return $currencyCodes[array_rand($currencyCodes)];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ use App\Enums\NumberFormat;
|
||||
use App\Enums\TimeFormat;
|
||||
use App\Models\Organization;
|
||||
use App\Models\User;
|
||||
use App\Service\CurrencyService;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
@@ -27,7 +28,7 @@ class OrganizationFactory extends Factory
|
||||
{
|
||||
return [
|
||||
'name' => $this->faker->unique()->company(),
|
||||
'currency' => $this->faker->currencyCode(),
|
||||
'currency' => app(CurrencyService::class)->getRandomCurrencyCode(),
|
||||
'billable_rate' => null,
|
||||
'user_id' => User::factory(),
|
||||
'personal_team' => true,
|
||||
|
||||
@@ -92,4 +92,15 @@ class CurrencyServiceTest extends TestCaseWithDatabase
|
||||
// Assert
|
||||
$this->assertSame('XXX', $symbol);
|
||||
}
|
||||
|
||||
public function test_get_random_currency_code(): void
|
||||
{
|
||||
// Act
|
||||
$currencyCode = $this->currencyService->getRandomCurrencyCode();
|
||||
|
||||
// Assert
|
||||
$this->assertNotEmpty($currencyCode);
|
||||
$this->assertIsString($currencyCode);
|
||||
$this->assertNotNull(Currency::of($currencyCode));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user