65 lines
1.3 KiB
JavaScript
65 lines
1.3 KiB
JavaScript
|
// source: https://github.com/OpenZeppelin/zeppelin-solidity/blob/master/test/helpers/increaseTime.js
|
||
|
|
||
|
const should = require("chai").should();
|
||
|
|
||
|
async function assertRevert(promise) {
|
||
|
try {
|
||
|
await promise;
|
||
|
} catch (error) {
|
||
|
error.message.should.include(
|
||
|
"revert",
|
||
|
`Expected "revert", got ${error} instead`
|
||
|
);
|
||
|
return;
|
||
|
}
|
||
|
should.fail("Expected revert not received");
|
||
|
}
|
||
|
|
||
|
|
||
|
async function assertVMException(promise) {
|
||
|
try {
|
||
|
await promise;
|
||
|
} catch (error) {
|
||
|
error.message.should.include(
|
||
|
"VM Exception",
|
||
|
`Expected "VM Exception", got ${error} instead`
|
||
|
);
|
||
|
return;
|
||
|
}
|
||
|
should.fail("Expected VM Exception not received");
|
||
|
}
|
||
|
|
||
|
async function increaseTime(duration) {
|
||
|
const id = Date.now();
|
||
|
|
||
|
return new Promise((resolve, reject) => {
|
||
|
web3.currentProvider.sendAsync(
|
||
|
{
|
||
|
jsonrpc: "2.0",
|
||
|
method: "evm_increaseTime",
|
||
|
params: [duration],
|
||
|
id: id
|
||
|
},
|
||
|
err1 => {
|
||
|
if (err1) return reject(err1);
|
||
|
|
||
|
web3.currentProvider.sendAsync(
|
||
|
{
|
||
|
jsonrpc: "2.0",
|
||
|
method: "evm_mine",
|
||
|
id: id + 1
|
||
|
},
|
||
|
(err2, res) => {
|
||
|
return err2 ? reject(err2) : resolve(res);
|
||
|
}
|
||
|
);
|
||
|
}
|
||
|
);
|
||
|
});
|
||
|
}
|
||
|
|
||
|
module.exports = {
|
||
|
assertRevert,
|
||
|
increaseTime,
|
||
|
assertVMException
|
||
|
};
|