DelayedClaimble.js 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. contract('DelayedClaimable', function(accounts) {
  2. var delayedClaimable;
  3. beforeEach(function() {
  4. return DelayedClaimable.new().then(function(deployed) {
  5. delayedClaimable = deployed;
  6. });
  7. });
  8. it("Changes pendingOwner after transfer succesfull", function(done) {
  9. return delayedClaimable.transferOwnership(accounts[2])
  10. .then(function(){
  11. return delayedClaimable.setClaimBlocks(1000,0);
  12. })
  13. .then(function(){
  14. return delayedClaimable.claimBeforeBlock();
  15. })
  16. .then(function(claimBeforeBlock) {
  17. assert.isTrue(claimBeforeBlock == 1000);
  18. return delayedClaimable.claimAfterBlock();
  19. })
  20. .then(function(claimAfterBlock) {
  21. assert.isTrue(claimAfterBlock == 0);
  22. return delayedClaimable.pendingOwner();
  23. })
  24. .then(function(pendingOwner) {
  25. assert.isTrue(pendingOwner === accounts[2]);
  26. return delayedClaimable.claimOwnership({from: accounts[2]});
  27. })
  28. .then(function() {
  29. return delayedClaimable.owner();
  30. })
  31. .then(function(owner) {
  32. assert.isTrue(owner === accounts[2]);
  33. })
  34. .then(done);
  35. });
  36. it("Changes pendingOwner after transfer fails", function(done) {
  37. return delayedClaimable.transferOwnership(accounts[1])
  38. .then(function(){
  39. return delayedClaimable.setClaimBlocks(11000,10000);
  40. })
  41. .then(function(){
  42. return delayedClaimable.claimBeforeBlock();
  43. })
  44. .then(function(claimBeforeBlock) {
  45. assert.isTrue(claimBeforeBlock == 11000);
  46. return delayedClaimable.claimAfterBlock();
  47. })
  48. .then(function(claimAfterBlock) {
  49. assert.isTrue(claimAfterBlock == 10000);
  50. return delayedClaimable.pendingOwner();
  51. })
  52. .then(function(pendingOwner) {
  53. assert.isTrue(pendingOwner === accounts[1]);
  54. return delayedClaimable.claimOwnership({from: accounts[1]});
  55. })
  56. .catch(function(error) {
  57. if (error.message.search('invalid JUMP') == -1) throw error;
  58. })
  59. .then(function() {
  60. return delayedClaimable.owner();
  61. })
  62. .then(function(owner) {
  63. assert.isTrue(owner != accounts[1]);
  64. })
  65. .then(done);
  66. });
  67. it("Set claimBeforeBlock and claimAfterBlock invalid values fail", function(done) {
  68. return delayedClaimable.transferOwnership(accounts[1])
  69. .then(function(){
  70. return delayedClaimable.setClaimBlocks(1000,10000);
  71. })
  72. .catch(function(error) {
  73. if (error.message.search('invalid JUMP') == -1) throw error;
  74. })
  75. .then(done);
  76. });
  77. });