Files
wownerogue/test/debugManagerHealth.test.js
T

33 lines
1.1 KiB
JavaScript

const DebugManager = require('../src/debug/debugManager');
describe('DebugManager daemon freshness', () => {
const originalEnv = process.env.NODE_ENV;
const originalSource = process.env.BLOCK_SOURCE;
beforeEach(() => {
process.env.NODE_ENV = 'production';
process.env.BLOCK_SOURCE = 'daemon';
});
afterAll(() => {
if (originalEnv === undefined) delete process.env.NODE_ENV;
else process.env.NODE_ENV = originalEnv;
if (originalSource === undefined) delete process.env.BLOCK_SOURCE;
else process.env.BLOCK_SOURCE = originalSource;
});
test('rejects a stale cached height until a recent RPC poll succeeds', () => {
const manager = new DebugManager({ broadcastBlockHeight: jest.fn() });
manager.lastProductionBlockHeight = 123;
manager.lastSuccessfulRpcAt = 0;
expect(manager.isChainHealthy()).toBe(false);
manager.lastSuccessfulRpcAt = Date.now();
expect(manager.isChainHealthy(1000)).toBe(true);
manager.lastSuccessfulRpcAt = Date.now() - 2000;
expect(manager.isChainHealthy(1000)).toBe(false);
});
});