@frak-labs/core-sdk
Version:
Core SDK of the Frak wallet, low level library to interact directly with the frak ecosystem.
52 lines (38 loc) • 1.5 kB
text/typescript
/**
* Tests for getSupportedCurrency utility function
* Tests currency validation and fallback behavior
*/
import { describe, expect, it } from "../../../tests/vitest-fixtures";
import type { Currency } from "../../types";
import { getSupportedCurrency } from "./getSupportedCurrency";
describe("getSupportedCurrency", () => {
it("should return EUR for undefined input", () => {
const result = getSupportedCurrency(undefined);
expect(result).toBe("eur");
});
it("should return EUR when provided", () => {
const result = getSupportedCurrency("eur");
expect(result).toBe("eur");
});
it("should return USD when provided", () => {
const result = getSupportedCurrency("usd");
expect(result).toBe("usd");
});
it("should return GBP when provided", () => {
const result = getSupportedCurrency("gbp");
expect(result).toBe("gbp");
});
it("should fall back to EUR for invalid currency", () => {
// Force cast to test runtime behavior
const invalidCurrency = "invalid" as Currency;
const result = getSupportedCurrency(invalidCurrency);
expect(result).toBe("eur");
});
it("should handle all valid currencies", () => {
const validCurrencies: Currency[] = ["eur", "usd", "gbp"];
for (const currency of validCurrencies) {
const result = getSupportedCurrency(currency);
expect(result).toBe(currency);
}
});
});