UNPKG

@helium/http

Version:

HTTP library for interacting with the Helium blockchain API

77 lines 3.09 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const nock_1 = __importDefault(require("nock")); const Client_1 = __importDefault(require("../../Client")); const varsMock_1 = __importDefault(require("../__mocks__/varsMock")); const varsFixture = (keys = []) => { const vars = JSON.parse(varsMock_1.default); if (keys.length === 0) { return vars; } return Object.keys(vars) .filter((key) => keys.includes(key)) .reduce((res, key) => Object.assign(res, { [key]: vars[key] }), {}); }; describe('get vars', () => { (0, nock_1.default)('https://api.helium.io') .get('/v1/vars') .reply(200, { data: varsFixture(), }); (0, nock_1.default)('https://api.helium.io') .get('/v1/vars?keys=txn_fee_multiplier%2Cdc_payload_size%2Cstaking_fee_txn_assert_location_v1%2Cstaking_fee_txn_add_gateway_v1') .reply(200, { data: varsFixture([ 'txn_fee_multiplier', 'dc_payload_size', 'staking_fee_txn_assert_location_v1', 'staking_fee_txn_add_gateway_v1', ]), }); (0, nock_1.default)('https://api.helium.io') .get('/v1/vars?keys=poc_v4_prob_no_rssi') .reply(200, { data: varsFixture([ 'poc_v4_prob_no_rssi', ]), }); (0, nock_1.default)('https://api.helium.io') .get('/v1/vars?keys=poc_v4_prob_no_rssi%2Cpoc_addr_hash_byte_count') .reply(200, { data: varsFixture([ 'poc_v4_prob_no_rssi', 'poc_addr_hash_byte_count', ]), }); it('getAll retrieves all chain vars', async () => { const client = new Client_1.default(); const vars = await client.vars.getAll(); expect(Object.keys(vars).length).toBe(158); }); it('get retrieves txn chain vars by default', async () => { const client = new Client_1.default(); const vars = await client.vars.get(); expect(vars.txnFeeMultiplier).toBe(5000); expect(vars.dcPayloadSize).toBe(24); expect(vars.stakingFeeTxnAssertLocationV1).toBe(1000000); expect(vars.stakingFeeTxnAddGatewayV1).toBe(4000000); expect(Object.keys(vars).length).toBe(4); }); it('get retrieves one specific chain var', async () => { const client = new Client_1.default(); const vars = await client.vars.get(['poc_v4_prob_no_rssi']); expect(vars.pocV4ProbNoRssi).toBe(0.5); expect(Object.keys(vars).length).toBe(1); }); it('get retrieves multiple specific chain vars', async () => { const client = new Client_1.default(); const vars = await client.vars.get(['poc_v4_prob_no_rssi', 'poc_addr_hash_byte_count']); expect(vars.pocV4ProbNoRssi).toBe(0.5); expect(vars.pocAddrHashByteCount).toBe(8); expect(Object.keys(vars).length).toBe(2); }); }); //# sourceMappingURL=Vars.spec.js.map