UNPKG

hardhat-graph-protocol

Version:

A hardhat plugin that extends the runtime environment to inject additional functionality related to the usage of the Graph Protocol.

70 lines 4.12 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const chai_1 = require("chai"); const path_1 = __importDefault(require("path")); const config_1 = require("../src/config"); const helpers_1 = require("./helpers"); describe('GRE init functions', function () { // No address book - should throw describe('getAddressBookPath', function () { it('should throw if no address book is specified', function () { this.hre = (0, helpers_1.loadHardhatContext)('default-config', 'mainnet'); (0, chai_1.expect)(() => (0, config_1.getAddressBookPath)('horizon', this.hre, {})).to.throw('Must set a an addressBook path!'); }); it("should throw if address book doesn't exist", function () { this.hre = (0, helpers_1.loadHardhatContext)('invalid-address-book', 'mainnet'); (0, chai_1.expect)(() => (0, config_1.getAddressBookPath)('horizon', this.hre, {})).to.throw(/Address book not found: /); }); // Address book via opts should be used it('should use opts parameter if available', function () { this.hre = (0, helpers_1.loadHardhatContext)('network-address-book', 'mainnet'); const addressBook = (0, config_1.getAddressBookPath)('horizon', this.hre, { deployments: { horizon: 'addresses-opt.json', }, }); (0, chai_1.expect)(path_1.default.basename(addressBook)).to.equal('addresses-opt.json'); }); it('should use opts parameter if available - shortcut syntax', function () { this.hre = (0, helpers_1.loadHardhatContext)('network-address-book', 'mainnet'); const addressBook = (0, config_1.getAddressBookPath)('horizon', this.hre, { deployments: { horizon: 'addresses-opt.json', }, }); (0, chai_1.expect)(path_1.default.basename(addressBook)).to.equal('addresses-opt.json'); }); // Address book via network config should be used it('should use HH network config', function () { this.hre = (0, helpers_1.loadHardhatContext)('network-address-book', 'mainnet'); const addressBook = (0, config_1.getAddressBookPath)('horizon', this.hre, {}); (0, chai_1.expect)(path_1.default.basename(addressBook)).to.equal('addresses-network.json'); }); it('should use HH network config - shortcut syntax', function () { this.hre = (0, helpers_1.loadHardhatContext)('network-address-book', 'mainnet'); if (this.hre.network.config.deployments) { this.hre.network.config.deployments.horizon = 'addresses-network-short.json'; } const addressBook = (0, config_1.getAddressBookPath)('horizon', this.hre, {}); (0, chai_1.expect)(path_1.default.basename(addressBook)).to.equal('addresses-network-short.json'); }); // Address book via global config should be used it('should use HH global config', function () { this.hre = (0, helpers_1.loadHardhatContext)('global-address-book', 'mainnet'); const addressBook = (0, config_1.getAddressBookPath)('horizon', this.hre, {}); (0, chai_1.expect)(path_1.default.basename(addressBook)).to.equal('addresses-global.json'); }); it('should use HH global config - shortcut syntax', function () { this.hre = (0, helpers_1.loadHardhatContext)('global-address-book', 'mainnet'); if (this.hre.config.graph.deployments) { this.hre.config.graph.deployments.horizon = 'addresses-global-short.json'; } const addressBook = (0, config_1.getAddressBookPath)('horizon', this.hre, {}); (0, chai_1.expect)(path_1.default.basename(addressBook)).to.equal('addresses-global-short.json'); }); }); }); //# sourceMappingURL=config.test.js.map