From e58266ceded6dcce9b5538f17bbd58c2cc3459bc Mon Sep 17 00:00:00 2001 From: Toms Veidemanis Date: Tue, 1 Oct 2024 13:53:42 +0300 Subject: [PATCH] =?UTF-8?q?feat:=20=F0=9F=8E=B8=20fix=20flakey=20createAss?= =?UTF-8?q?et=20test?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/__tests__/sdk/assets/createAsset.ts | 6 ++---- src/util.ts | 4 ++-- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/__tests__/sdk/assets/createAsset.ts b/src/__tests__/sdk/assets/createAsset.ts index cc0faca..ab0b672 100644 --- a/src/__tests__/sdk/assets/createAsset.ts +++ b/src/__tests__/sdk/assets/createAsset.ts @@ -3,6 +3,7 @@ import { KnownAssetType, SecurityIdentifierType } from '@polymeshassociation/pol import { TestFactory } from '~/helpers'; import { createAsset } from '~/sdk/assets/createAsset'; +import { awaitMiddlewareSynced } from '~/util'; let factory: TestFactory; @@ -44,14 +45,11 @@ describe('createAsset', () => { // Validates arguments (e.g. ticker is not taken) and returns a Transaction to be ran. const createAssetTx = await sdk.assets.createAsset(params); - const middlewareSyncedOnAsset = () => - new Promise((resolve) => createAssetTx.onProcessedByMiddleware(resolve)); - const asset = await createAssetTx.run(); expect(asset.ticker).toEqual(params.ticker); - await middlewareSyncedOnAsset(); + await awaitMiddlewareSynced(createAssetTx, sdk, 15, 2000); const createdAt = await asset.createdAt(); diff --git a/src/util.ts b/src/util.ts index b6a7ad6..381cbd5 100644 --- a/src/util.ts +++ b/src/util.ts @@ -54,8 +54,8 @@ export const awaitMiddlewareSynced = async ( // eslint-disable-next-line @typescript-eslint/no-explicit-any tx: GenericPolymeshTransaction, sdk: Polymesh, - retries: number, - delay: number + retries = 15, + delay = 2000 ): Promise => { if (![TransactionStatus.Succeeded, TransactionStatus.Failed].includes(tx.status)) { throw new Error('Transaction was not successful or failed and does not have a block number');