mirror of
https://github.com/logos-storage/logos-storage-contracts-eth.git
synced 2026-01-09 08:43:08 +00:00
vault: remove duplication in tests
This commit is contained in:
parent
6dbbdb5bd3
commit
cbbcad5166
@ -266,40 +266,35 @@ describe("Vault", function () {
|
||||
const context = randomBytes(32)
|
||||
const amount = 42
|
||||
|
||||
let expiry
|
||||
let maximum
|
||||
|
||||
beforeEach(async function () {
|
||||
await token.connect(account).approve(vault.address, amount)
|
||||
await vault.deposit(context, account.address, amount)
|
||||
let start = await currentTime()
|
||||
expiry = start + 10
|
||||
maximum = start + 20
|
||||
})
|
||||
|
||||
it("can lock up all tokens in a context", async function () {
|
||||
let start = await currentTime()
|
||||
let expiry = start + 10
|
||||
let maximum = start + 20
|
||||
await vault.lockup(context, expiry, maximum)
|
||||
expect((await vault.lock(context))[0]).to.equal(expiry)
|
||||
expect((await vault.lock(context))[1]).to.equal(maximum)
|
||||
})
|
||||
|
||||
it("cannot lock up when already locked", async function () {
|
||||
let start = await currentTime()
|
||||
let expiry = start + 10
|
||||
let maximum = start + 20
|
||||
await vault.lockup(context, expiry, maximum)
|
||||
const locking = vault.lockup(context, expiry, maximum)
|
||||
await expect(locking).to.be.revertedWith("AlreadyLocked")
|
||||
})
|
||||
|
||||
it("cannot lock when expiry is past maximum", async function () {
|
||||
let start = await currentTime()
|
||||
let expiry = start + 10
|
||||
let maximum = start + 9
|
||||
const locking = vault.lockup(context, expiry, maximum)
|
||||
const locking = vault.lockup(context, maximum + 1, maximum)
|
||||
await expect(locking).to.be.revertedWith("ExpiryPastMaximum")
|
||||
})
|
||||
|
||||
it("does not allow withdrawal before lock expires", async function () {
|
||||
let start = await currentTime()
|
||||
let expiry = start + 10
|
||||
await vault.lockup(context, expiry, expiry)
|
||||
await advanceTimeTo(expiry - 1)
|
||||
const withdrawing = vault.withdraw(context, account.address)
|
||||
@ -307,8 +302,6 @@ describe("Vault", function () {
|
||||
})
|
||||
|
||||
it("allows withdrawal after lock expires", async function () {
|
||||
let start = await currentTime()
|
||||
let expiry = start + 10
|
||||
await vault.lockup(context, expiry, expiry)
|
||||
await advanceTimeTo(expiry)
|
||||
const before = await token.balanceOf(account.address)
|
||||
@ -318,38 +311,26 @@ describe("Vault", function () {
|
||||
})
|
||||
|
||||
it("can extend a lock expiry up to its maximum", async function () {
|
||||
let start = await currentTime()
|
||||
let expiry = start + 10
|
||||
let maximum = start + 20
|
||||
await vault.lockup(context, expiry, maximum)
|
||||
await vault.extend(context, start + 15)
|
||||
expect((await vault.lock(context))[0]).to.equal(start + 15)
|
||||
await vault.extend(context, start + 20)
|
||||
expect((await vault.lock(context))[0]).to.equal(start + 20)
|
||||
await vault.extend(context, expiry + 1)
|
||||
expect((await vault.lock(context))[0]).to.equal(expiry + 1)
|
||||
await vault.extend(context, maximum)
|
||||
expect((await vault.lock(context))[0]).to.equal(maximum)
|
||||
})
|
||||
|
||||
it("cannot extend a lock past its maximum", async function () {
|
||||
let start = await currentTime()
|
||||
let expiry = start + 10
|
||||
let maximum = start + 20
|
||||
await vault.lockup(context, expiry, maximum)
|
||||
const extending = vault.extend(context, start + 21)
|
||||
const extending = vault.extend(context, maximum + 1)
|
||||
await expect(extending).to.be.revertedWith("ExpiryPastMaximum")
|
||||
})
|
||||
|
||||
it("cannot move expiry forward", async function () {
|
||||
let start = await currentTime()
|
||||
let expiry = start + 10
|
||||
let maximum = start + 20
|
||||
await vault.lockup(context, expiry, maximum)
|
||||
const extending = vault.extend(context, start + 9)
|
||||
const extending = vault.extend(context, expiry - 1)
|
||||
await expect(extending).to.be.revertedWith("InvalidExpiry")
|
||||
})
|
||||
|
||||
it("cannot extend an expired lock", async function () {
|
||||
let start = await currentTime()
|
||||
let expiry = start + 10
|
||||
let maximum = start + 20
|
||||
await vault.lockup(context, expiry, maximum)
|
||||
await advanceTimeTo(expiry)
|
||||
const extending = vault.extend(context, maximum)
|
||||
@ -357,8 +338,6 @@ describe("Vault", function () {
|
||||
})
|
||||
|
||||
it("deletes lock when funds are withdrawn", async function () {
|
||||
let start = await currentTime()
|
||||
let expiry = start + 10
|
||||
await vault.lockup(context, expiry, expiry)
|
||||
await advanceTimeToForNextBlock(expiry)
|
||||
await vault.withdraw(context, account.address)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user