mirror of
https://github.com/solidtime-io/solidtime.git
synced 2026-08-08 00:02:15 +01:00
Fixed failing tests because of legacy currency codes
This commit is contained in:
committed by
Constantin Graf
parent
f9c0d64f82
commit
e1185af281
@@ -4,6 +4,7 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Service;
|
namespace App\Service;
|
||||||
|
|
||||||
|
use Brick\Money\ISOCurrencyProvider;
|
||||||
use Brick\Money\Money;
|
use Brick\Money\Money;
|
||||||
|
|
||||||
class CurrencyService
|
class CurrencyService
|
||||||
@@ -374,4 +375,12 @@ class CurrencyService
|
|||||||
|
|
||||||
return $currencyCode;
|
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\Enums\TimeFormat;
|
||||||
use App\Models\Organization;
|
use App\Models\Organization;
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
|
use App\Service\CurrencyService;
|
||||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -27,7 +28,7 @@ class OrganizationFactory extends Factory
|
|||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'name' => $this->faker->unique()->company(),
|
'name' => $this->faker->unique()->company(),
|
||||||
'currency' => $this->faker->currencyCode(),
|
'currency' => app(CurrencyService::class)->getRandomCurrencyCode(),
|
||||||
'billable_rate' => null,
|
'billable_rate' => null,
|
||||||
'user_id' => User::factory(),
|
'user_id' => User::factory(),
|
||||||
'personal_team' => true,
|
'personal_team' => true,
|
||||||
|
|||||||
@@ -92,4 +92,15 @@ class CurrencyServiceTest extends TestCaseWithDatabase
|
|||||||
// Assert
|
// Assert
|
||||||
$this->assertSame('XXX', $symbol);
|
$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