From 52105c2f9f76bdfce04f5026a9f51d32616a8253 Mon Sep 17 00:00:00 2001 From: Benjamin Levesque <14175665+benjlevesque@users.noreply.github.com> Date: Fri, 27 Oct 2023 12:06:03 +0200 Subject: [PATCH] fix: nigthly tests --- packages/integration-test/test/layers.test.ts | 10 ++-------- .../test/scheduled/erc20-fee-proxy.test.ts | 3 +++ .../test/scheduled/erc20-proxy.test.ts | 16 +++++++++------- .../integration-test/test/scheduled/fixtures.ts | 8 ++++++++ 4 files changed, 22 insertions(+), 15 deletions(-) diff --git a/packages/integration-test/test/layers.test.ts b/packages/integration-test/test/layers.test.ts index 1f01002867..1d9204ccd5 100644 --- a/packages/integration-test/test/layers.test.ts +++ b/packages/integration-test/test/layers.test.ts @@ -23,6 +23,7 @@ import { StorageTypes, } from '@requestnetwork/types'; import { providers, Wallet } from 'ethers'; +import { automine } from './scheduled/fixtures'; let advancedLogic: AdvancedLogicTypes.IAdvancedLogic; let requestLogic: RequestLogicTypes.IRequestLogic; @@ -38,14 +39,7 @@ let signatureProvider: any; let dataAccess: DataAccessTypes.IDataAccess; -const interval = setInterval(async () => { - await provider.send('evm_mine', []); - // eslint-disable-next-line no-magic-numbers -}, 200); - -afterAll(() => { - clearInterval(interval); -}); +automine(); const mnemonic = 'candy maple cake sugar pudding cream honey rich smooth crumble sweet treat'; diff --git a/packages/integration-test/test/scheduled/erc20-fee-proxy.test.ts b/packages/integration-test/test/scheduled/erc20-fee-proxy.test.ts index ad4393ed33..a9bf541e15 100644 --- a/packages/integration-test/test/scheduled/erc20-fee-proxy.test.ts +++ b/packages/integration-test/test/scheduled/erc20-fee-proxy.test.ts @@ -5,6 +5,7 @@ import { Types, Utils } from '@requestnetwork/request-client.js'; import { mockAdvancedLogic } from './mocks'; import { + automine, erc20requestCreationHash, localErc20PaymentNetworkParams, payeeIdentity, @@ -14,6 +15,8 @@ import { } from './fixtures'; import { createMockErc20FeeRequest } from '../utils'; +automine(); + const pnFactory = new PaymentNetworkFactory(mockAdvancedLogic, CurrencyManager.getDefault()); const paidRequest = { diff --git a/packages/integration-test/test/scheduled/erc20-proxy.test.ts b/packages/integration-test/test/scheduled/erc20-proxy.test.ts index 36a0d54257..eac47bc378 100644 --- a/packages/integration-test/test/scheduled/erc20-proxy.test.ts +++ b/packages/integration-test/test/scheduled/erc20-proxy.test.ts @@ -5,6 +5,7 @@ import { mockAdvancedLogic } from './mocks'; import { Types, Utils } from '@requestnetwork/request-client.js'; import { CurrencyManager } from '@requestnetwork/currency'; import { + automine, erc20requestCreationHash, localErc20PaymentNetworkParams, payeeIdentity, @@ -13,6 +14,8 @@ import { requestNetwork, } from './fixtures'; +automine(); + const erc20ProxyAddressedBased = new Erc20PaymentNetwork.ERC20ProxyPaymentDetector({ advancedLogic: mockAdvancedLogic, currencyManager: CurrencyManager.getDefault(), @@ -29,6 +32,7 @@ describe('ERC20 Proxy detection test-suite', () => { requestInfo: erc20requestCreationHash, signer: payeeIdentity, }); + await request.waitForConfirmation(); let requestData = await request.declareReceivedPayment('1', 'OK', payeeIdentity); const declarationTimestamp = Utils.getCurrentTimestampInSecond(); @@ -60,16 +64,14 @@ describe('ERC20 Proxy detection test-suite', () => { requestInfo: erc20requestCreationHash, signer: payeeIdentity, }); + const refreshedRequest = await request.waitForConfirmation(); + expect(refreshedRequest.state).toBe('created'); // The payer declares a payment - let requestData: Types.IRequestDataWithEvents = await request.declareSentPayment( - '1', - 'OK', - payerIdentity, - ); - requestData = await new Promise((resolve): unknown => requestData.on('confirmed', resolve)); + let sentResult = await request.declareSentPayment('1', 'OK', payerIdentity); + sentResult = await new Promise((resolve) => sentResult.on('confirmed', resolve)); const balance = await erc20ProxyAddressedBased.getBalance({ - ...requestData, + ...sentResult, currency: { network: 'private', type: RequestLogicTypes.CURRENCY.ERC20, diff --git a/packages/integration-test/test/scheduled/fixtures.ts b/packages/integration-test/test/scheduled/fixtures.ts index 22082335be..5a6fa54b2c 100644 --- a/packages/integration-test/test/scheduled/fixtures.ts +++ b/packages/integration-test/test/scheduled/fixtures.ts @@ -1,6 +1,7 @@ import { IdentityTypes, PaymentTypes, ExtensionTypes } from '@requestnetwork/types'; import { RequestNetwork, Types } from '@requestnetwork/request-client.js'; import { EthereumPrivateKeySignatureProvider } from '@requestnetwork/epk-signature'; +import { providers } from 'ethers'; export const httpConfig = { getConfirmationDeferDelay: 1000, @@ -67,3 +68,10 @@ export const localEthInputDataPaymentNetworkParams: PaymentTypes.PaymentNetworkC paymentAddress: '0xf17f52151EbEF6C7334FAD080c5704D77216b732', }, }; + +export const automine = (freq = 200) => { + const provider = new providers.JsonRpcProvider(); + setInterval(async () => { + await provider.send('evm_mine', []); + }, freq).unref(); +};