DelayedClaimble.js 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. 'use strict';
  2. var DelayedClaimable = artifacts.require('../contracts/ownership/DelayedClaimable.sol');
  3. contract('DelayedClaimable', function(accounts) {
  4. var delayedClaimable;
  5. beforeEach(function() {
  6. return DelayedClaimable.new().then(function(deployed) {
  7. delayedClaimable = deployed;
  8. });
  9. });
  10. it('can set claim blocks', async function() {
  11. await delayedClaimable.transferOwnership(accounts[2]);
  12. await delayedClaimable.setLimits(0, 1000);
  13. let end = await delayedClaimable.end();
  14. assert.equal(end, 1000);
  15. let start = await delayedClaimable.start();
  16. assert.equal(start, 0);
  17. });
  18. it('changes pendingOwner after transfer successful', async function() {
  19. await delayedClaimable.transferOwnership(accounts[2]);
  20. await delayedClaimable.setLimits(0, 1000);
  21. let end = await delayedClaimable.end();
  22. assert.equal(end, 1000);
  23. let start = await delayedClaimable.start();
  24. assert.equal(start, 0);
  25. let pendingOwner = await delayedClaimable.pendingOwner();
  26. assert.equal(pendingOwner, accounts[2]);
  27. await delayedClaimable.claimOwnership({from: accounts[2]});
  28. let owner = await delayedClaimable.owner();
  29. assert.equal(owner, accounts[2]);
  30. });
  31. it('changes pendingOwner after transfer fails', async function() {
  32. await delayedClaimable.transferOwnership(accounts[1]);
  33. await delayedClaimable.setLimits(100, 110);
  34. let end = await delayedClaimable.end();
  35. assert.equal(end, 110);
  36. let start = await delayedClaimable.start();
  37. assert.equal(start, 100);
  38. let pendingOwner = await delayedClaimable.pendingOwner();
  39. assert.equal(pendingOwner, accounts[1]);
  40. var err = null;
  41. try {
  42. await delayedClaimable.claimOwnership({from: accounts[1]});
  43. } catch (error) {
  44. err = error;
  45. }
  46. assert.isFalse(err.message.search('invalid opcode') === -1);
  47. let owner = await delayedClaimable.owner();
  48. assert.isTrue(owner !== accounts[1]);
  49. });
  50. it('set end and start invalid values fail', async function() {
  51. await delayedClaimable.transferOwnership(accounts[1]);
  52. var err = null;
  53. try {
  54. await delayedClaimable.setLimits(1001, 1000);
  55. } catch (error) {
  56. err = error;
  57. }
  58. assert.isFalse(err.message.search('invalid opcode') === -1);
  59. });
  60. });