DelayedClaimble.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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. delayedClaimable.claimOwnership({from: newOwner});
  24. return delayedClaimable.owner();
  25. })
  26. .then(function(owner) {
  27. assert.isTrue(owner === newOwner);
  28. })
  29. .then(done)
  30. });
  31. it("changes pendingOwner after transfer fails", function(done) {
  32. var newOwner = accounts[1];
  33. return delayedClaimable.transfer(newOwner)
  34. .then(function(){
  35. return delayedClaimable.setDelay(1)
  36. })
  37. .then(function(){
  38. return delayedClaimable.claimBefore();
  39. })
  40. .then(function(claimBefore) {
  41. assert.isTrue(claimBefore == 1);
  42. return delayedClaimable.pendingOwner();
  43. })
  44. .then(function(pendingOwner) {
  45. assert.isTrue(pendingOwner === newOwner);
  46. // delayedClaimable.claimOwnership({from: newOwner}); Uncomment to break the test.
  47. return delayedClaimable.owner();
  48. })
  49. .then(function(owner) {
  50. assert.isTrue(owner != newOwner);
  51. })
  52. .then(done)
  53. });
  54. });