BlueWallet/tests/integration/Currency.test.js

51 lines
2 KiB
JavaScript
Raw Normal View History

import assert from 'assert';
2020-12-15 22:15:57 -05:00
import AsyncStorage from '@react-native-async-storage/async-storage';
import { FiatUnit } from '../../models/fiatUnit';
describe('currency', () => {
it('fetches exchange rate and saves to AsyncStorage', async () => {
jasmine.DEFAULT_TIMEOUT_INTERVAL = 15000;
2020-06-09 15:08:18 +01:00
const currency = require('../../blue_modules/currency');
2021-09-09 20:36:35 +01:00
await currency.init();
2021-05-18 21:38:18 +01:00
let cur = await AsyncStorage.getItem(currency.EXCHANGE_RATES);
cur = JSON.parse(cur);
2021-09-09 20:36:35 +01:00
assert.ok(Number.isInteger(cur[currency.LAST_UPDATED]));
assert.ok(cur[currency.LAST_UPDATED] > 0);
assert.ok(cur.BTC_USD > 0);
// now, setting other currency as default
2021-05-18 21:38:18 +01:00
await AsyncStorage.setItem(currency.PREFERRED_CURRENCY, JSON.stringify(FiatUnit.JPY));
2021-09-09 20:36:35 +01:00
await currency.init(true);
2021-05-18 21:38:18 +01:00
cur = JSON.parse(await AsyncStorage.getItem(currency.EXCHANGE_RATES));
assert.ok(cur.BTC_JPY > 0);
// now setting with a proper setter
await currency.setPrefferedCurrency(FiatUnit.EUR);
2021-09-09 20:36:35 +01:00
await currency.init(true);
const preferred = await currency.getPreferredCurrency();
assert.strictEqual(preferred.endPointKey, 'EUR');
2021-05-18 21:38:18 +01:00
cur = JSON.parse(await AsyncStorage.getItem(currency.EXCHANGE_RATES));
assert.ok(cur.BTC_EUR > 0);
// test Yadio rate source
await currency.setPrefferedCurrency(FiatUnit.ARS);
2021-09-09 20:36:35 +01:00
await currency.init(true);
2021-05-18 21:38:18 +01:00
cur = JSON.parse(await AsyncStorage.getItem(currency.EXCHANGE_RATES));
assert.ok(cur.BTC_ARS > 0);
// test BitcoinduLiban rate source
2021-03-30 09:22:31 +03:00
// disabled, because it throws "Service Temporarily Unavailable" on circleci
// await currency.setPrefferedCurrency(FiatUnit.LBP);
2021-09-09 20:36:35 +01:00
// await currency.init(true);
2021-07-06 16:07:47 +03:00
// cur = JSON.parse(await AsyncStorage.getItem(currency.EXCHANGE_RATES));
2021-03-30 09:22:31 +03:00
// assert.ok(cur.BTC_LBP > 0);
2021-07-06 16:07:47 +03:00
// test Exir rate source
2021-09-21 18:18:46 +04:30
await currency.setPrefferedCurrency(FiatUnit.IRT);
2021-09-09 20:36:35 +01:00
await currency.init(true);
2021-07-06 16:07:47 +03:00
cur = JSON.parse(await AsyncStorage.getItem(currency.EXCHANGE_RATES));
2021-09-21 18:18:46 +04:30
assert.ok(cur.BTC_IRT > 0);
});
});