mirror of
https://github.com/BlueWallet/BlueWallet.git
synced 2025-02-24 23:38:57 +01:00
60 lines
2.1 KiB
JavaScript
60 lines
2.1 KiB
JavaScript
import assert from 'assert';
|
|
import { getAddress, sortByIndexAndType, totalBalance } from '../../screen/wallets/addresses';
|
|
|
|
describe('Addresses', () => {
|
|
it('Sort by index ASC and externals first', () => {
|
|
const originalList = [
|
|
{ index: 0, isInternal: true, key: 'first_internal_address' },
|
|
{ index: 1, isInternal: false, key: 'second_external_address' },
|
|
{ index: 1, isInternal: true, key: 'second_internal_address' },
|
|
{ index: 0, isInternal: false, key: 'first_external_address' },
|
|
];
|
|
|
|
const sortedList = originalList.sort(sortByIndexAndType);
|
|
|
|
assert.strictEqual(sortedList[0].key, 'first_external_address');
|
|
assert.strictEqual(sortedList[1].key, 'second_external_address');
|
|
assert.strictEqual(sortedList[2].key, 'first_internal_address');
|
|
assert.strictEqual(sortedList[3].key, 'second_internal_address');
|
|
});
|
|
|
|
it('Sum confirmed/unconfirmed balance', () => {
|
|
const wallet1Balance = { c: 0, u: 0 };
|
|
const wallet2Balance = { c: 7, u: 3 };
|
|
const wallet3Balance = { c: 3, u: 7 };
|
|
|
|
assert.strictEqual(totalBalance(wallet1Balance), 0);
|
|
assert.strictEqual(totalBalance(wallet2Balance), 10);
|
|
assert.strictEqual(totalBalance(wallet3Balance), 10);
|
|
});
|
|
|
|
it('Returns AddressItem object', () => {
|
|
const fakeWallet = {
|
|
_getExternalAddressByIndex: index => `external_address_${index}`,
|
|
_getInternalAddressByIndex: index => `internal_address_${index}`,
|
|
_balances_by_external_index: [{ c: 0, u: 0 }],
|
|
_balances_by_internal_index: [{ c: 0, u: 0 }],
|
|
};
|
|
|
|
const firstExternalAddress = getAddress(fakeWallet, 0, false);
|
|
const firstInternalAddress = getAddress(fakeWallet, 0, true);
|
|
|
|
assert.deepStrictEqual(firstExternalAddress, {
|
|
address: 'external_address_0',
|
|
balance: 0,
|
|
index: 0,
|
|
isInternal: false,
|
|
key: 'external_address_0',
|
|
transactions: 0,
|
|
});
|
|
|
|
assert.deepStrictEqual(firstInternalAddress, {
|
|
address: 'internal_address_0',
|
|
balance: 0,
|
|
index: 0,
|
|
isInternal: true,
|
|
key: 'internal_address_0',
|
|
transactions: 0,
|
|
});
|
|
});
|
|
});
|