add test for activity already end and not start
This commit is contained in:
parent
a8ab7b4e3a
commit
663eea2ac8
@ -14,13 +14,17 @@ contract("NFTClaimer", (accounts) => {
|
||||
const owner = accounts[0];
|
||||
const user = accounts[1];
|
||||
const singer = accounts[2];
|
||||
|
||||
const now = Date.now() / 1000 | 0;
|
||||
const start = now - 3600;
|
||||
const end = now + 3600;
|
||||
|
||||
beforeEach(async () => {
|
||||
nft = await NFT.new("NFT", "NFT", 5);
|
||||
tokenClaimer = await NFTClaimer.new();
|
||||
await tokenClaimer.updateTokenSupport(nft.address, true);
|
||||
await tokenClaimer.updateSigner(singer);
|
||||
await tokenClaimer.updateStartTime(start);
|
||||
await tokenClaimer.updateEndTime(end);
|
||||
});
|
||||
|
||||
it("should cliam token", async () => {
|
||||
@ -122,4 +126,56 @@ contract("NFTClaimer", (accounts) => {
|
||||
err
|
||||
);
|
||||
});
|
||||
it("should revert cliam token for activity not begin", async () => {
|
||||
const minterRole = await nft.MINTER_ROLE();
|
||||
await tokenClaimer.updateStartTime(Date.now() / 1000 | 0 + 3600);
|
||||
await nft.grantRole(minterRole, tokenClaimer.address);
|
||||
const token = nft.address;
|
||||
const chainId = await web3.eth.getChainId();
|
||||
const address = tokenClaimer.address;
|
||||
const startTime = Date.now() / 1000 | 0;
|
||||
const saltNonce = (Math.random() * 1000) | 0;
|
||||
let signStr = web3.utils.soliditySha3.apply(this,
|
||||
[user, token, startTime, chainId, address, saltNonce]);
|
||||
let signature = await web3.eth.sign(signStr, singer);
|
||||
signature = signature.replace(/00$/, "1b").replace(/01$/, "1c");
|
||||
|
||||
const err = `NFTClaimer: not started`
|
||||
await expectRevert(
|
||||
tokenClaimer.claim(
|
||||
token,
|
||||
startTime,
|
||||
saltNonce,
|
||||
signature,
|
||||
{ from: user }
|
||||
),
|
||||
err
|
||||
);
|
||||
});
|
||||
it("should revert cliam token for activity already end", async () => {
|
||||
const minterRole = await nft.MINTER_ROLE();
|
||||
await tokenClaimer.updateEndTime((Date.now() / 1000 | 0) - 3600);
|
||||
await nft.grantRole(minterRole, tokenClaimer.address);
|
||||
const token = nft.address;
|
||||
const chainId = await web3.eth.getChainId();
|
||||
const address = tokenClaimer.address;
|
||||
const startTime = Date.now() / 1000 | 0;
|
||||
const saltNonce = (Math.random() * 1000) | 0;
|
||||
let signStr = web3.utils.soliditySha3.apply(this,
|
||||
[user, token, startTime, chainId, address, saltNonce]);
|
||||
let signature = await web3.eth.sign(signStr, singer);
|
||||
signature = signature.replace(/00$/, "1b").replace(/01$/, "1c");
|
||||
|
||||
const err = `NFTClaimer: already ended`
|
||||
await expectRevert(
|
||||
tokenClaimer.claim(
|
||||
token,
|
||||
startTime,
|
||||
saltNonce,
|
||||
signature,
|
||||
{ from: user }
|
||||
),
|
||||
err
|
||||
);
|
||||
});
|
||||
});
|
Loading…
x
Reference in New Issue
Block a user