DelayedClaimable.test.js 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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. const end = await this.delayedClaimable.end();
  15. end.should.be.bignumber.equal(1000);
  16. const start = await this.delayedClaimable.start();
  17. start.should.be.bignumber.equal(0);
  18. });
  19. it('changes pendingOwner after transfer successful', async function () {
  20. await this.delayedClaimable.transferOwnership(newOwner, { from: owner });
  21. await this.delayedClaimable.setLimits(0, 1000, { from: owner });
  22. const end = await this.delayedClaimable.end();
  23. end.should.be.bignumber.equal(1000);
  24. const start = await this.delayedClaimable.start();
  25. start.should.be.bignumber.equal(0);
  26. (await this.delayedClaimable.pendingOwner()).should.eq(newOwner);
  27. await this.delayedClaimable.claimOwnership({ from: newOwner });
  28. (await this.delayedClaimable.owner()).should.eq(newOwner);
  29. });
  30. it('changes pendingOwner after transfer fails', async function () {
  31. await this.delayedClaimable.transferOwnership(newOwner, { from: owner });
  32. await this.delayedClaimable.setLimits(100, 110, { from: owner });
  33. const end = await this.delayedClaimable.end();
  34. end.should.be.bignumber.equal(110);
  35. const start = await this.delayedClaimable.start();
  36. start.should.be.bignumber.equal(100);
  37. (await this.delayedClaimable.pendingOwner()).should.eq(newOwner);
  38. await assertRevert(this.delayedClaimable.claimOwnership({ from: newOwner }));
  39. (await this.delayedClaimable.owner()).should.not.eq(newOwner);
  40. });
  41. it('set end and start invalid values fail', async function () {
  42. await this.delayedClaimable.transferOwnership(newOwner, { from: owner });
  43. await assertRevert(this.delayedClaimable.setLimits(1001, 1000, { from: owner }));
  44. });
  45. });