From 30492371cb57e3cde58b31c6fc04c2670623cc1f Mon Sep 17 00:00:00 2001 From: Timo Welde Date: Fri, 6 Nov 2020 15:53:52 +0100 Subject: [PATCH 1/4] feat: update for substrate2 --- src/faucet/faucet.controller.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/faucet/faucet.controller.ts b/src/faucet/faucet.controller.ts index 1ee54a8..3db087f 100644 --- a/src/faucet/faucet.controller.ts +++ b/src/faucet/faucet.controller.ts @@ -1,4 +1,4 @@ -import { Balance, Identity, SubmittableResult } from '@kiltprotocol/sdk-js' +import { Balance, Blockchain, Identity } from '@kiltprotocol/sdk-js' import { Controller, Inject, @@ -69,12 +69,13 @@ export class FaucetController { const faucetAccount: Identity = await Identity.buildFromSeed( hexToU8a(process.env.FAUCET_ACCOUNT) ) - const status: SubmittableResult = await Balance.makeTransfer( + const tx = await Balance.makeTransfer( faucetAccount, address, new BN(DEFAULT_TOKEN_AMOUNT), 0 ) + const status = await Blockchain.submitSignedTx(tx) return Promise.resolve(status.isFinalized) } catch (e) { console.error(e) From f07c276f7ffe18f0914738bcdfc82491facbfe30 Mon Sep 17 00:00:00 2001 From: Timo Welde Date: Fri, 6 Nov 2020 16:34:41 +0100 Subject: [PATCH 2/4] tests: fix tests after update --- src/faucet/faucet.module.spec.ts | 44 +++++++++++++++++++++----------- 1 file changed, 29 insertions(+), 15 deletions(-) diff --git a/src/faucet/faucet.module.spec.ts b/src/faucet/faucet.module.spec.ts index 68bc68b..ebb16b1 100644 --- a/src/faucet/faucet.module.spec.ts +++ b/src/faucet/faucet.module.spec.ts @@ -3,7 +3,11 @@ import { FaucetDropDB, FaucetDrop, } from './interfaces/faucet.interfaces' -import { Identity, SubmittableResult } from '@kiltprotocol/sdk-js' +import { + Identity, + SubmittableExtrinsic, + SubmittableResult, +} from '@kiltprotocol/sdk-js' import { Test } from '@nestjs/testing' import { FaucetController } from './faucet.controller' import { @@ -22,15 +26,26 @@ import { AuthGuard } from '../auth/auth.guard' jest.mock('@kiltprotocol/sdk-js/build/balance/Balance.chain', () => { return { makeTransfer: jest.fn( - async (): Promise => { - return { - isFinalized: true, - } as SubmittableResult + async (): Promise => { + return {} as SubmittableExtrinsic } ), } }) +jest.mock('@kiltprotocol/sdk-js/build/blockchain/Blockchain', () => { + return { + __esModule: true, + default: { + submitSignedTx: jest.fn( + async (): Promise => { + return { isFinalized: true } as SubmittableResult + } + ), + }, + } +}) + describe('Faucet Module', () => { const claimerAddress = '5Ded9KnRSDY9zc3QafT7dyueTqgZdqYK43cc5TcSwqACM1dL' const invalidAddress = claimerAddress.replace('5', '7') @@ -58,6 +73,9 @@ describe('Faucet Module', () => { const mockedMakeTransfer = require('@kiltprotocol/sdk-js/build/balance/Balance.chain') .makeTransfer + const mockedsubmitSignedTx = require('@kiltprotocol/sdk-js/build/blockchain/Blockchain') + .default.submitSignedTx + const fakeFaucetService: FaucetService = { drop: jest.fn(async (): Promise => testFaucetDrop), updateOnTransactionFailure: jest.fn( @@ -118,7 +136,7 @@ describe('Faucet Module', () => { const buildSpy = jest .spyOn(Identity, 'buildFromSeed') .mockResolvedValue(faucetIdentity) - mockedMakeTransfer.mockResolvedValue({ + mockedsubmitSignedTx.mockResolvedValue({ isFinalized: false, } as SubmittableResult) const updateSpy = jest.spyOn( @@ -184,11 +202,9 @@ describe('Faucet Module', () => { const buildSpy = jest .spyOn(Identity, 'buildFromSeed') .mockResolvedValue(faucetIdentity) - mockedMakeTransfer.mockImplementation(async () => { - return { + mockedsubmitSignedTx.mockResolvedValue({ isFinalized: true, - } as SubmittableResult - }) + } as SubmittableResult) expect( await faucetController['transferTokens'](claimerAddress) ).toEqual(true) @@ -232,11 +248,9 @@ describe('Faucet Module', () => { new BN(DEFAULT_TOKEN_AMOUNT), 0 ) - mockedMakeTransfer.mockImplementation(async () => { - return { - isFinalized: false, - } as SubmittableResult - }) + mockedsubmitSignedTx.mockResolvedValue({ + isFinalized: false, + } as SubmittableResult) expect( await faucetController['transferTokens'](claimerAddress) ).toEqual(false) From 713eac0670619b44c20304ff50b003b56e4e5146 Mon Sep 17 00:00:00 2001 From: Timo Welde Date: Fri, 6 Nov 2020 16:44:23 +0100 Subject: [PATCH 3/4] tests: fix integration tests --- test/faucet.e2e-spec.ts | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/test/faucet.e2e-spec.ts b/test/faucet.e2e-spec.ts index 78fac58..6d4ca91 100644 --- a/test/faucet.e2e-spec.ts +++ b/test/faucet.e2e-spec.ts @@ -9,7 +9,16 @@ import { FaucetModule } from '../src/faucet/faucet.module' jest.mock('@kiltprotocol/sdk-js/build/balance/Balance.chain', () => { return { - makeTransfer: jest.fn(() => Promise.resolve({ isFinalized: true })), + makeTransfer: jest.fn(() => Promise.resolve({})), + } +}) + +jest.mock('@kiltprotocol/sdk-js/build/blockchain/Blockchain', () => { + return { + __esModules: true, + default: { + submitSignedTx: jest.fn(() => Promise.resolve({ isFinalized: true })), + } } }) @@ -37,7 +46,7 @@ describe('faucet endpoint (e2e)', () => { beforeEach(async () => { await faucetService.reset() - require('@kiltprotocol/sdk-js/build/balance/Balance.chain').makeTransfer.mockResolvedValue( + require('@kiltprotocol/sdk-js/build/blockchain/Blockchain').default.submitSignedTx.mockResolvedValue( { isFinalized: true } ) }) From 5f946413cbefe5e191b386642e1c7380124eb63b Mon Sep 17 00:00:00 2001 From: Timo Welde Date: Fri, 6 Nov 2020 16:48:14 +0100 Subject: [PATCH 4/4] test: reset balance.chain --- test/faucet.e2e-spec.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/test/faucet.e2e-spec.ts b/test/faucet.e2e-spec.ts index 6d4ca91..4570a07 100644 --- a/test/faucet.e2e-spec.ts +++ b/test/faucet.e2e-spec.ts @@ -49,6 +49,9 @@ describe('faucet endpoint (e2e)', () => { require('@kiltprotocol/sdk-js/build/blockchain/Blockchain').default.submitSignedTx.mockResolvedValue( { isFinalized: true } ) + require('@kiltprotocol/sdk-js/build/balance/Balance.chain').makeTransfer.mockResolvedValue( + { } + ) }) it('rejects malformed requests', async () => {