From 7f7ccfabff7f102d56a877a85721f656cfccc4ac Mon Sep 17 00:00:00 2001 From: cgeek <cem.moreau@gmail.com> Date: Sun, 19 Apr 2020 16:01:47 +0200 Subject: [PATCH] [test] add a `willMembers` basic test --- test/will-members.ts | 55 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 test/will-members.ts diff --git a/test/will-members.ts b/test/will-members.ts new file mode 100644 index 0000000..e7f891b --- /dev/null +++ b/test/will-members.ts @@ -0,0 +1,55 @@ +// Source file from duniter: Crypto-currency software to manage libre currency such as Ğ1 +// Copyright (C) 2018 Cedric Moreau <cem.moreau@gmail.com> +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. + +import {assertEqual, assertTrue, writeBasicTestWithConfAnd2Users} from "duniter/test/integration/tools/test-framework" +import {CommonConstants} from "duniter/app/lib/common-libs/constants"; +import {DataFinder, initMonitDB} from "../lib/DataFinder"; +import {MonitDBBlock} from "../lib/SqliteBlockchain"; +import {willMembers} from "../modules/will-members"; + +describe('willMembers', () => writeBasicTestWithConfAnd2Users({ + sigQty: 1, + medianTimeBlocks: 1, +}, (test) => { + + const now = 1500000000 + + before(() => { + CommonConstants.BLOCKS_IN_MEMORY_MAX = 3 // Must be > forkWindowSize + }) + + test('Duniter blockchain init', async (s1, cat, tac) => { + await cat.createIdentity() + await tac.createIdentity() + await cat.cert(tac) + await tac.cert(cat) + await cat.join() + await tac.join() + const head = await s1.commit({ time: now }) + assertEqual(head.number, 0); + assertEqual(head.membersCount, 2); + await initMonitDB(s1._server) + }) + + test('toc tries to join', async (s1, cat, tac, toc) => { + await toc.createIdentity() + await toc.join() + await cat.cert(toc) + await tac.cert(toc) + const will = await willMembers(s1._server) + assertEqual(will.idtysListOrdered.length, 1) + assertEqual(will.idtysListOrdered[0].pendingCertifications.length, 2) // cat & tac + }) + +})) + -- GitLab