Skip to content

Commit

Permalink
fix: improve code
Browse files Browse the repository at this point in the history
  • Loading branch information
shuffledex committed Apr 20, 2020
1 parent 40b4f6e commit 9d1c5d9
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 8 deletions.
4 changes: 2 additions & 2 deletions src/api/entities/SecurityToken/TokenHolders.ts
Expand Up @@ -3,7 +3,7 @@ import BigNumber from 'bignumber.js';
import { Identity } from '~/api/entities/Identity';
import { Namespace } from '~/base';
import { IdentityId } from '~/polkadot';
import { balanceToBigNumber, identityIdToString } from '~/utils';
import { balanceToBigNumber, identityIdToString, stringToTicker } from '~/utils';

import { SecurityToken } from './';

Expand Down Expand Up @@ -31,7 +31,7 @@ export class TokenHolders extends Namespace<SecurityToken> {
parent: { ticker },
} = this;

const entries = await query.asset.balanceOf.entries(ticker);
const entries = await query.asset.balanceOf.entries(stringToTicker(ticker, context));
const balances: IdentityBalance[] = [];

entries.forEach(([storageKey, balance]) => {
Expand Down
17 changes: 11 additions & 6 deletions src/api/entities/SecurityToken/__tests__/TokenHolders.ts
Expand Up @@ -4,7 +4,7 @@ import sinon from 'sinon';

import { Identity } from '~/api/entities/Identity';
import { Namespace } from '~/base';
import { IdentityId } from '~/polkadot';
import { IdentityId, Ticker } from '~/polkadot';
import { entityMockUtils, polkadotMockUtils } from '~/testUtils/mocks';
import { tuple } from '~/types/utils';
import * as utilsModule from '~/utils';
Expand Down Expand Up @@ -38,6 +38,8 @@ describe('TokenHolders class', () => {

test('should retrieve all the token holders with balance', async () => {
const ticker = 'TEST';
const mockContext = polkadotMockUtils.getContextInstance();
const rawTicker = polkadotMockUtils.createMockTicker(ticker);
const fakeData = [
{
identity: 'someIdentity',
Expand All @@ -51,11 +53,17 @@ describe('TokenHolders class', () => {

const expectedHolders: IdentityBalance[] = [];

sinon
.stub(utilsModule, 'stringToTicker')
.withArgs(ticker, mockContext)
.returns(rawTicker);

const identityIdToStringStub = sinon.stub(utilsModule, 'identityIdToString');
const balanceToBigNumberStub = sinon.stub(utilsModule, 'balanceToBigNumber');

const identityIds: IdentityId[] = [];
const balances: Balance[] = [];
const balanceOfEntries: [Ticker[], Balance][] = [];

const context = polkadotMockUtils.getContextInstance();

Expand All @@ -70,17 +78,14 @@ describe('TokenHolders class', () => {
identityIdToStringStub.withArgs(identityId).returns(identity);
balanceToBigNumberStub.withArgs(fakeBalance).returns(balance);

balanceOfEntries.push(tuple([rawTicker, identityId], fakeBalance));

expectedHolders.push({
identity: new Identity({ did: identity }, context),
balance,
});
});

const balanceOfEntries = [
tuple([ticker, identityIds[0]], balances[0]),
tuple([ticker, identityIds[1]], balances[1]),
];

polkadotMockUtils.createQueryStub('asset', 'balanceOf', {
entries: balanceOfEntries,
});
Expand Down

0 comments on commit 9d1c5d9

Please sign in to comment.