DelayedClaimble.js 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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 succesful", function(done) {
  9. var newOwner = accounts[2];
  10. return delayedClaimable.transfer(newOwner)
  11. .then(function(){
  12. return delayedClaimable.setDelay(1000)
  13. })
  14. .then(function(){
  15. return delayedClaimable.claimBefore();
  16. })
  17. .then(function(claimBefore) {
  18. assert.isTrue(claimBefore == 1000);
  19. return delayedClaimable.pendingOwner();
  20. })
  21. .then(function(pendingOwner) {
  22. assert.isTrue(pendingOwner === newOwner);
  23. return delayedClaimable.claimOwnership({from: newOwner});
  24. })
  25. .then(function() {
  26. return delayedClaimable.owner();
  27. })
  28. .then(function(owner) {
  29. assert.isTrue(owner === newOwner);
  30. })
  31. .then(done)
  32. });
  33. it("changes pendingOwner after transfer fails", function(done) {
  34. var newOwner = accounts[1];
  35. return delayedClaimable.transfer(newOwner)
  36. .then(function(){
  37. return delayedClaimable.setDelay(1)
  38. })
  39. .then(function(){
  40. return delayedClaimable.claimBefore();
  41. })
  42. .then(function(claimBefore) {
  43. assert.isTrue(claimBefore == 1);
  44. return delayedClaimable.pendingOwner();
  45. })
  46. .then(function(pendingOwner) {
  47. assert.isTrue(pendingOwner === newOwner);
  48. return delayedClaimable.claimOwnership({from: newOwner});
  49. })
  50. .then(function() {
  51. return delayedClaimable.owner();
  52. })
  53. .then(function(owner) {
  54. assert.isTrue(owner != newOwner);
  55. })
  56. .then(done)
  57. });
  58. });