mirror of
https://github.com/BlueWallet/BlueWallet.git
synced 2025-02-26 09:01:56 +01:00
71 lines
2.4 KiB
JavaScript
71 lines
2.4 KiB
JavaScript
import DefaultPreference from 'react-native-default-preference';
|
|
import assert from 'assert';
|
|
|
|
import {
|
|
EXCHANGE_RATES_STORAGE_KEY,
|
|
getPreferredCurrency,
|
|
initCurrencyDaemon,
|
|
LAST_UPDATED,
|
|
PREFERRED_CURRENCY_STORAGE_KEY,
|
|
setPreferredCurrency,
|
|
GROUP_IO_BLUEWALLET,
|
|
} from '../../blue_modules/currency';
|
|
import { FiatUnit } from '../../models/fiatUnit';
|
|
|
|
jest.setTimeout(90 * 1000);
|
|
|
|
describe('currency', () => {
|
|
beforeAll(async () => {
|
|
await DefaultPreference.setName(GROUP_IO_BLUEWALLET);
|
|
});
|
|
|
|
afterEach(async () => {
|
|
await DefaultPreference.clearAll();
|
|
});
|
|
|
|
it('fetches exchange rate and saves to DefaultPreference', async () => {
|
|
await initCurrencyDaemon();
|
|
let curString = await DefaultPreference.get(EXCHANGE_RATES_STORAGE_KEY);
|
|
let cur = JSON.parse(curString || '{}');
|
|
assert.ok(Number.isInteger(cur[LAST_UPDATED]));
|
|
assert.ok(cur[LAST_UPDATED] > 0);
|
|
assert.ok(cur.BTC_USD > 0);
|
|
|
|
// now, setting other currency as default
|
|
await DefaultPreference.set(PREFERRED_CURRENCY_STORAGE_KEY, JSON.stringify(FiatUnit.JPY));
|
|
await initCurrencyDaemon(true);
|
|
curString = await DefaultPreference.get(EXCHANGE_RATES_STORAGE_KEY);
|
|
cur = JSON.parse(curString || '{}');
|
|
assert.ok(cur.BTC_JPY > 0);
|
|
|
|
// now setting with a proper setter
|
|
await setPreferredCurrency(FiatUnit.EUR);
|
|
await initCurrencyDaemon(true);
|
|
const preferred = await getPreferredCurrency();
|
|
assert.strictEqual(preferred.endPointKey, 'EUR');
|
|
curString = await DefaultPreference.get(EXCHANGE_RATES_STORAGE_KEY);
|
|
cur = JSON.parse(curString || '{}');
|
|
assert.ok(cur.BTC_EUR > 0);
|
|
|
|
// test Yadio rate source
|
|
await setPreferredCurrency(FiatUnit.ARS);
|
|
await initCurrencyDaemon(true);
|
|
curString = await DefaultPreference.get(EXCHANGE_RATES_STORAGE_KEY);
|
|
cur = JSON.parse(curString || '{}');
|
|
assert.ok(cur.BTC_ARS > 0);
|
|
|
|
// test YadioConvert rate source
|
|
await setPreferredCurrency(FiatUnit.LBP);
|
|
await initCurrencyDaemon(true);
|
|
curString = await DefaultPreference.get(EXCHANGE_RATES_STORAGE_KEY);
|
|
cur = JSON.parse(curString || '{}');
|
|
assert.ok(cur.BTC_LBP > 0);
|
|
|
|
// test Exir rate source
|
|
await setPreferredCurrency(FiatUnit.IRT);
|
|
await initCurrencyDaemon(true);
|
|
curString = await DefaultPreference.get(EXCHANGE_RATES_STORAGE_KEY);
|
|
cur = JSON.parse(curString || '{}');
|
|
assert.ok(cur.BTC_IRT > 0);
|
|
});
|
|
});
|