Claimable.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. contract('Claimable', function(accounts) {
  2. let claimable;
  3. beforeEach(async function(done) {
  4. claimable = await Claimable.new();
  5. done();
  6. });
  7. it("should have an owner", async function(done) {
  8. let owner = await claimable.owner();
  9. assert.isTrue(owner != 0);
  10. done();
  11. });
  12. it("changes pendingOwner after transfer", async function(done) {
  13. let newOwner = accounts[1];
  14. let transfer = await claimable.transfer(newOwner);
  15. let pendingOwner = await claimable.pendingOwner();
  16. assert.isTrue(pendingOwner === newOwner);
  17. done();
  18. });
  19. it("should prevent to claimOwnership from no pendingOwner", async function(done) {
  20. let claimedOwner = await claimable.claimOwnership({from: accounts[2]});
  21. let owner = await claimable.owner();
  22. assert.isTrue(owner != accounts[2]);
  23. done();
  24. });
  25. it("should prevent non-owners from transfering", async function(done) {
  26. let transfer = await claimable.transfer(accounts[2], {from: accounts[2]});
  27. let pendingOwner = await claimable.pendingOwner();
  28. assert.isFalse(pendingOwner === accounts[2]);
  29. done();
  30. });
  31. describe("after initiating a transfer", function () {
  32. let newOwner;
  33. beforeEach(async function (done) {
  34. newOwner = accounts[1];
  35. await claimable.transfer(newOwner);
  36. done();
  37. });
  38. it("changes allow pending owner to claim ownership", async function(done) {
  39. let claimedOwner = await claimable.claimOwnership({from: newOwner})
  40. let owner = await claimable.owner();
  41. assert.isTrue(owner === newOwner);
  42. done();
  43. });
  44. });
  45. });