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
JavaScript
"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