parent
c2de8ffd14
commit
6407d7818d
@ -0,0 +1,68 @@ |
|||||||
|
const time = require('../time'); |
||||||
|
const shouldFail = require('../shouldFail'); |
||||||
|
const { advanceBlock } = require('../advanceToBlock'); |
||||||
|
|
||||||
|
const BigNumber = web3.BigNumber; |
||||||
|
require('chai') |
||||||
|
.use(require('chai-bignumber')(BigNumber)) |
||||||
|
.should(); |
||||||
|
|
||||||
|
describe('time', function () { |
||||||
|
const TOLERANCE_SECONDS = 1; |
||||||
|
|
||||||
|
beforeEach(async function () { |
||||||
|
await advanceBlock(); |
||||||
|
this.start = await time.latest(); |
||||||
|
}); |
||||||
|
|
||||||
|
describe('increase', function () { |
||||||
|
it('increases time by a duration', async function () { |
||||||
|
await time.increase(time.duration.hours(1)); |
||||||
|
|
||||||
|
const end = this.start + time.duration.hours(1); |
||||||
|
(await time.latest()).should.be.closeTo(end, TOLERANCE_SECONDS); |
||||||
|
}); |
||||||
|
|
||||||
|
it('throws with negative durations', async function () { |
||||||
|
await shouldFail(time.increase(-1)); |
||||||
|
}); |
||||||
|
}); |
||||||
|
|
||||||
|
describe('increaseTo', function () { |
||||||
|
it('increases time to a time in the future', async function () { |
||||||
|
const end = this.start + time.duration.hours(1); |
||||||
|
await time.increaseTo(end); |
||||||
|
(await time.latest()).should.be.closeTo(end, TOLERANCE_SECONDS); |
||||||
|
}); |
||||||
|
|
||||||
|
it('throws with a time in the past', async function () { |
||||||
|
await shouldFail(time.increaseTo(this.start - 30)); |
||||||
|
}); |
||||||
|
}); |
||||||
|
|
||||||
|
describe('duration', function () { |
||||||
|
it('converts seconds to seconds', function () { |
||||||
|
time.duration.seconds(1).should.equal(1); |
||||||
|
}); |
||||||
|
|
||||||
|
it('converts minutes to seconds', function () { |
||||||
|
time.duration.minutes(1).should.equal(60); |
||||||
|
}); |
||||||
|
|
||||||
|
it('converts hours to seconds', function () { |
||||||
|
time.duration.hours(1).should.equal(60 * 60); |
||||||
|
}); |
||||||
|
|
||||||
|
it('converts days to seconds', function () { |
||||||
|
time.duration.days(1).should.equal(60 * 60 * 24); |
||||||
|
}); |
||||||
|
|
||||||
|
it('converts weeks to seconds', function () { |
||||||
|
time.duration.weeks(1).should.equal(60 * 60 * 24 * 7); |
||||||
|
}); |
||||||
|
|
||||||
|
it('converts years to seconds', function () { |
||||||
|
time.duration.years(1).should.equal(60 * 60 * 24 * 365); |
||||||
|
}); |
||||||
|
}); |
||||||
|
}); |
Loading…
Reference in new issue