From eec4670ca6dd0abc5c13b99a3cbecef18bf1400a Mon Sep 17 00:00:00 2001 From: Mykola Date: Tue, 21 Jan 2020 01:19:33 -0800 Subject: [PATCH 1/2] Quantum Generation (QUBIT) --- .../logo.png | Bin 0 -> 23061 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 blockchains/ethereum/assets/0x808470d3C22263bca54d2634BCA479bF05d36E93/logo.png diff --git a/blockchains/ethereum/assets/0x808470d3C22263bca54d2634BCA479bF05d36E93/logo.png b/blockchains/ethereum/assets/0x808470d3C22263bca54d2634BCA479bF05d36E93/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..48e1004a9baf68d885076014747389364b74301f GIT binary patch literal 23061 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 DLc2;N literal 0 HcmV?d00001 From 99c59d87a593a131e1a486dad5149116b5de2901 Mon Sep 17 00:00:00 2001 From: Mykola Date: Tue, 21 Jan 2020 01:20:02 -0800 Subject: [PATCH 2/2] Update test --- src/test/helpers.ts | 11 +++++++++-- src/test/index.test.ts | 16 +++++----------- src/test/models.ts | 6 ++++++ 3 files changed, 20 insertions(+), 13 deletions(-) create mode 100644 src/test/models.ts diff --git a/src/test/helpers.ts b/src/test/helpers.ts index 0b8dc1be6..8cce91228 100644 --- a/src/test/helpers.ts +++ b/src/test/helpers.ts @@ -1,6 +1,6 @@ import * as fs from "fs" import * as path from "path" - +import { ValidatorModel } from "./models"; const axios = require('axios') const Web3 = require('web3') const web3 = new Web3('ws://localhost:8546'); @@ -125,4 +125,11 @@ export const calculateAspectRatioFit = (srcWidth: number, srcHeight: number, max } catch { return false } - } \ No newline at end of file + } + +export const isValidatorHasAllKeys = (val: ValidatorModel): boolean => { + return typeof val.id === "string" + && typeof val.name === "string" + && typeof val.description === "string" + && typeof val.website === "string" +} diff --git a/src/test/index.test.ts b/src/test/index.test.ts index 186b55236..93f3bb80e 100644 --- a/src/test/index.test.ts +++ b/src/test/index.test.ts @@ -23,9 +23,10 @@ import { getChainBlacklistPath, mapList, findFiles, - isValidJSON + isValidJSON, + isValidatorHasAllKeys } from "./helpers" - +import { ValidatorModel } from "./models"; enum TickerType { Token = "token", Coin = "coin" @@ -135,16 +136,9 @@ describe(`Test "blockchains" folder`, () => { stakingChains.forEach(chain => { const validatorsList = JSON.parse(readFileSync(getChainValidatorsListPath(chain))) - test(`Make sure ${chain} validators list has correct structure`, () => { - validatorsList.forEach(val => { - const keys = Object.keys(val) - expect(keys.length, `Wrong keys amount`).toBeGreaterThanOrEqual(4) - - keys.forEach(key => { - const type = typeof key - expect(type, `Wrong key type`).toBe("string") - }) + validatorsList.forEach((val: ValidatorModel) => { + expect(isValidatorHasAllKeys(val), `Come key and/or type missing for validator ${JSON.stringify(val)}`).toBe(true) }) }) diff --git a/src/test/models.ts b/src/test/models.ts new file mode 100644 index 000000000..c4c4f79ad --- /dev/null +++ b/src/test/models.ts @@ -0,0 +1,6 @@ +export interface ValidatorModel { + id: string, + name: string, + description: string, + website: string, +} \ No newline at end of file