@accounter/server
Version:
Accounter GraphQL server
35 lines (34 loc) • 1.15 kB
TypeScript
import type { Currency } from '../../shared/enums.js';
import type { ExchangeProvider } from '../../modules/exchange-rates/providers/exchange.provider.js';
/**
* Configuration for a mocked exchange rate.
*/
export interface ExchangeRateMock {
fromCurrency: Currency;
toCurrency: Currency;
rate: number;
}
/**
* Creates a mock function that overrides ExchangeProvider.getExchangeRates
* to return a fixed rate for specific currency pairs.
*
* @example
* ```ts
* // Fix USD → ILS at 3.5
* const mockFn = createMockExchangeRates([
* { fromCurrency: Currency.Usd, toCurrency: Currency.Ils, rate: 3.5 }
* ]);
* provider.getExchangeRates = mockFn;
* ```
*/
export declare function createMockExchangeRates(mocks: ExchangeRateMock[]): ExchangeProvider['getExchangeRates'];
/**
* Convenience function to create a single exchange rate mock.
*
* @example
* ```ts
* const mockFn = mockExchangeRate(Currency.Usd, Currency.Ils, 3.5);
* provider.getExchangeRates = mockFn;
* ```
*/
export declare function mockExchangeRate(fromCurrency: Currency, toCurrency: Currency, rate: number): ExchangeProvider['getExchangeRates'];