Skip to content

Commit

Permalink
Fix fee tests (#57)
Browse files Browse the repository at this point in the history
* Fix fee tests
  • Loading branch information
KarishmaBothara authored Oct 29, 2019
1 parent 97eed3e commit 3b2e4dd
Showing 1 changed file with 17 additions and 28 deletions.
45 changes: 17 additions & 28 deletions packages/api/test/e2e/fees.e2e.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import {ApiRx, SubmittableResult} from '@cennznet/api';
import {SimpleKeyring, Wallet} from '@cennznet/wallet';
import testingPairs from '@plugnet/keyring/testingPairs';
import {Vec} from '@plugnet/types';
import {EventRecord} from '@plugnet/types/interfaces';
import {EventRecord, ExtrinsicStatus} from '@plugnet/types/interfaces';

import {Api} from '../../src/Api';

Expand All @@ -25,6 +25,18 @@ const sender = {
uri: '//cennznet-js-test',
};

function testFee(status: ExtrinsicStatus, events: EventRecord[], fee, done) {
if (status.isFinalized && events !== undefined) {
for (let i = 0; i < events.length; i++) {
if (events[i].event.method === 'Charged' && events[i].event.section === 'fees') {
const gas = events[i].event.data[1];
expect(gas.toString()).toEqual(fee.toString());
done();
}
}
}
}

describe('fees in cennznet', () => {
let api: Api;
let keyring;
Expand All @@ -47,29 +59,15 @@ describe('fees in cennznet', () => {
});
const fee = await tx.fee(sender.address);
await tx.signAndSend(sender.address, async ({events, status}) => {
if (status.isFinalized && events !== undefined) {
const blockHash = status.asFinalized;
const events = ((await api.query.system.events.at(blockHash)) as unknown) as Vec<EventRecord>;
const feeChargeEvent = events.find(event => event.event.data.method === 'Charged');
const gas = feeChargeEvent.event.data[1];
expect(gas.toString()).toEqual(fee.toString());
done();
}
testFee(status, events, fee, done);
});
});

it('fee estimate Transfer', async done => {
const tx = api.tx.genericAsset.transfer(16000, sender.address, 1000000);
const fee = await tx.fee(sender.address);
await tx.signAndSend(sender.address, async ({events, status}) => {
if (status.isFinalized && events !== undefined) {
const blockHash = status.asFinalized;
const events = ((await api.query.system.events.at(blockHash)) as unknown) as Vec<EventRecord>;
const feeChargeEvent = events.find(event => event.event.data.method === 'Charged');
const gas = feeChargeEvent.event.data[1];
expect(gas.toString()).toEqual(fee.toString());
done();
}
testFee(status, events, fee, done);
});
});
});
Expand All @@ -81,6 +79,7 @@ describe('fees in cennznet (Rxjs)', () => {

beforeAll(async () => {
api = await ApiRx.create({provider: 'wss://rimu.unfrastructure.io/public/ws'}).toPromise();

const simpleKeyring: SimpleKeyring = new SimpleKeyring();
simpleKeyring.addFromUri(sender.uri);
const wallet = new Wallet();
Expand All @@ -96,18 +95,8 @@ describe('fees in cennznet (Rxjs)', () => {
initialIssuance: 100,
});
const fee = await tx.fee(sender.address).toPromise();
console.log('fee', fee.toString());
tx.signAndSend(sender.address).subscribe(async ({events, status}: SubmittableResult) => {
if (status.isFinalized && events !== undefined) {
const blockHash = status.asFinalized;
const events = ((await api.query.system.events.at(blockHash).toPromise()) as unknown) as Vec<
EventRecord
>;
const feeChargeEvent = events.find(event => event.event.data.method === 'Charged');
const gas = feeChargeEvent.event.data[1];
expect(gas.toString()).toEqual(fee.toString());
done();
}
testFee(status, events, fee, done);
});
});
});
Expand Down

0 comments on commit 3b2e4dd

Please sign in to comment.