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