difftreelog
Hide unneeded debug output
in: master
2 files changed
tests/src/setSchemaVersion.test.tsdiffbeforeafterboth--- a/tests/src/setSchemaVersion.test.ts
+++ b/tests/src/setSchemaVersion.test.ts
@@ -98,12 +98,16 @@
it('execute setSchemaVersion with not correct schema version', async () => {
await usingApi(async (api: ApiPromise) => {
+ const consoleError = console.error;
+ console.error = (message: string) => {};
try {
tx = api.tx.nft.setSchemaVersion(collectionIdForTesting, 'Test');
await submitTransactionAsync(alice, tx);
} catch (e) {
// tslint:disable-next-line:no-unused-expression
expect(e).to.be.exist;
+ } finally {
+ console.error = consoleError;
}
});
});
tests/src/substrate/substrate-api.tsdiffbeforeafterboth1//2// This file is subject to the terms and conditions defined in3// file 'LICENSE', which is part of this source code package.4//56import { WsProvider, ApiPromise } from "@polkadot/api";7import { EventRecord } from '@polkadot/types/interfaces/system/types';8import { ExtrinsicStatus } from '@polkadot/types/interfaces/author/types';9import { IKeyringPair } from "@polkadot/types/types";1011import config from "../config";12import promisifySubstrate from "./promisify-substrate";13import { ApiOptions, SubmittableExtrinsic, ApiTypes } from "@polkadot/api/types";14import rtt from "../../../runtime_types.json";1516function defaultApiOptions(): ApiOptions {17 const wsProvider = new WsProvider(config.substrateUrl);18 return { provider: wsProvider, types: rtt };19}2021export default async function usingApi(action: (api: ApiPromise) => Promise<void>, settings: ApiOptions | undefined = undefined): Promise<void> {22 settings = settings || defaultApiOptions();23 let api: ApiPromise = new ApiPromise(settings);2425 // TODO: Remove, this is temporary: Filter unneeded API output 26 // (Jaco promised it will be removed in the next version)27 // const consoleLog = console.log;28 // console.log = (message: string) => {29 // if (!(message.includes("API/INIT: Capabilities detected") || message.includes("2021-"))) {30 // consoleLog(message);31 // }32 // };3334 try {35 await promisifySubstrate(api, async () => {36 if(api) {37 await api.isReadyOrError;38 await action(api);39 }40 })();41 } finally {42 await api.disconnect();43 // console.log = consoleLog;44 }45}4647enum TransactionStatus {48 Success,49 Fail,50 NotReady51}5253function getTransactionStatus(events: EventRecord[], status: ExtrinsicStatus): TransactionStatus {54 if (status.isReady) {55 return TransactionStatus.NotReady;56 }57 if (status.isBroadcast) {58 return TransactionStatus.NotReady;59 } 60 if (status.isInBlock || status.isFinalized) {61 if(events.filter(e => e.event.data.method === 'ExtrinsicFailed').length > 0) {62 return TransactionStatus.Fail;63 }64 if(events.filter(e => e.event.data.method === 'ExtrinsicSuccess').length > 0) {65 return TransactionStatus.Success;66 }67 }6869 return TransactionStatus.Fail;70}7172export function73submitTransactionAsync(sender: IKeyringPair, transaction: SubmittableExtrinsic<ApiTypes>): Promise<EventRecord[]> {74 return new Promise(async (resolve, reject) => {75 try {76 await transaction.signAndSend(sender, ({ events = [], status }) => {77 const transactionStatus = getTransactionStatus(events, status);7879 if (transactionStatus === TransactionStatus.Success) {80 resolve(events);81 } else if (transactionStatus === TransactionStatus.Fail) {82 console.log(`Something went wrong with transaction. Status: ${status}`);83 reject(events);84 }85 });86 } catch (e) {87 console.log('Error: ', e);88 reject(e);89 }90 });91}9293export function submitTransactionExpectFailAsync(sender: IKeyringPair, transaction: SubmittableExtrinsic<ApiTypes>): Promise<EventRecord[]> {94 const consoleError = console.error;95 const consoleLog = console.log;96 console.error = () => {};97 console.log = () => {};9899 return new Promise<EventRecord[]>(async function(res, rej) {100 const resolve = (rec: EventRecord[]) => {101 setTimeout(() => {102 res(rec);103 console.error = consoleError;104 console.log = consoleLog;105 });106 };107 const reject = (errror: any) => {108 setTimeout(() => {109 rej(errror);110 console.error = consoleError;111 console.log = consoleLog;112 });113 };114 try {115 await transaction.signAndSend(sender, ({ events = [], status }) => {116 const transactionStatus = getTransactionStatus(events, status);117118 console.log('transactionStatus', transactionStatus, 'events', events);119120 if (transactionStatus == TransactionStatus.Success) {121 resolve(events);122 } else if (transactionStatus == TransactionStatus.Fail) {123 reject(events);124 }125 });126 } catch (e) {127 reject(e);128 }129 });130}