git.delta.rocks / unique-network / refs/commits / b6b4ad113e7d

difftreelog

source

tests/src/block-production.test.ts1.1 KiBsourcehistory
1//2// This file is subject to the terms and conditions defined in3// file 'LICENSE', which is part of this source code package.4//56import usingApi from './substrate/substrate-api';7import { expect } from 'chai';8import { ApiPromise } from '@polkadot/api';910const BlockTimeMs = 12000;11const ToleranceMs = 1000;1213/* eslint no-async-promise-executor: "off" */14function getBlocks(api: ApiPromise): Promise<number[]> {15  return new Promise<number[]>(async (resolve, reject) => {16    const blockNumbers: number[] = [];17    setTimeout(() => reject('Block production test failed due to timeout.'), BlockTimeMs + ToleranceMs);18    const unsubscribe = await api.rpc.chain.subscribeNewHeads((head: any) => {19      blockNumbers.push(head.number.toNumber());20      if(blockNumbers.length >= 2) {21        unsubscribe();22        resolve(blockNumbers);23      }24    });25  });26}2728describe('Block Production smoke test', () => {29  it('Node produces new blocks', async () => {30    await usingApi(async (api) => {31      const blocks: number[] | undefined = await getBlocks(api);32      expect(blocks[0]).to.be.lessThan(blocks[1]);33    });34  });35});