DelayedClaimable.test.js 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. const { assertRevert } = require('../helpers/assertRevert');
  2. const BigNumber = web3.BigNumber;
  3. require('chai')
  4. .use(require('chai-bignumber')(BigNumber))
  5. .should();
  6. const DelayedClaimable = artifacts.require('DelayedClaimable');
  7. contract('DelayedClaimable', function ([_, owner, newOwner]) {
  8. beforeEach(async function () {
  9. this.delayedClaimable = await DelayedClaimable.new({ from: owner });
  10. });
  11. it('can set claim blocks', async function () {
  12. await this.delayedClaimable.transferOwnership(newOwner, { from: owner });
  13. await this.delayedClaimable.setLimits(0, 1000, { from: owner });
  14. (await this.delayedClaimable.end()).should.be.bignumber.equal(1000);
  15. (await this.delayedClaimable.start()).should.be.bignumber.equal(0);
  16. });
  17. it('changes pendingOwner after transfer successful', async function () {
  18. await this.delayedClaimable.transferOwnership(newOwner, { from: owner });
  19. await this.delayedClaimable.setLimits(0, 1000, { from: owner });
  20. (await this.delayedClaimable.end()).should.be.bignumber.equal(1000);
  21. (await this.delayedClaimable.start()).should.be.bignumber.equal(0);
  22. (await this.delayedClaimable.pendingOwner()).should.equal(newOwner);
  23. await this.delayedClaimable.claimOwnership({ from: newOwner });
  24. (await this.delayedClaimable.owner()).should.equal(newOwner);
  25. });
  26. it('changes pendingOwner after transfer fails', async function () {
  27. await this.delayedClaimable.transferOwnership(newOwner, { from: owner });
  28. await this.delayedClaimable.setLimits(100, 110, { from: owner });
  29. (await this.delayedClaimable.end()).should.be.bignumber.equal(110);
  30. (await this.delayedClaimable.start()).should.be.bignumber.equal(100);
  31. (await this.delayedClaimable.pendingOwner()).should.equal(newOwner);
  32. await assertRevert(this.delayedClaimable.claimOwnership({ from: newOwner }));
  33. (await this.delayedClaimable.owner()).should.not.equal(newOwner);
  34. });
  35. it('set end and start invalid values fail', async function () {
  36. await this.delayedClaimable.transferOwnership(newOwner, { from: owner });
  37. await assertRevert(this.delayedClaimable.setLimits(1001, 1000, { from: owner }));
  38. });
  39. });