Reset Hardhat Network before each test suite (#4652)
This commit is contained in:
@ -2,9 +2,24 @@ extendEnvironment(env => {
|
||||
const { contract } = env;
|
||||
|
||||
env.contract = function (name, body) {
|
||||
// remove the default account from the accounts list used in tests, in order
|
||||
// to protect tests against accidentally passing due to the contract
|
||||
// deployer being used subsequently as function caller
|
||||
contract(name, accounts => body(accounts.slice(1)));
|
||||
const { takeSnapshot } = require('@nomicfoundation/hardhat-network-helpers');
|
||||
|
||||
contract(name, accounts => {
|
||||
// reset the state of the chain in between contract test suites
|
||||
let snapshot;
|
||||
|
||||
before(async function () {
|
||||
snapshot = await takeSnapshot();
|
||||
});
|
||||
|
||||
after(async function () {
|
||||
await snapshot.restore();
|
||||
});
|
||||
|
||||
// remove the default account from the accounts list used in tests, in order
|
||||
// to protect tests against accidentally passing due to the contract
|
||||
// deployer being used subsequently as function caller
|
||||
body(accounts.slice(1));
|
||||
});
|
||||
};
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user