Browse Source

Merge pull request #20 from adklempner/sol-testing

Recreate tests for Ownable in Solidity
Manuel Aráoz 9 years ago
parent
commit
a8348b3e37
1 changed files with 24 additions and 0 deletions
  1. 24 0
      test/TestOwnable.sol

+ 24 - 0
test/TestOwnable.sol

@@ -0,0 +1,24 @@
+import "truffle/Assert.sol";
+import "truffle/DeployedAddresses.sol";
+import "../contracts/Ownable.sol";
+
+contract TestOwnable {
+  Ownable ownable = new Ownable();
+
+  function testHasOwner() {
+    Assert.isNotZero(ownable.owner(), "Ownable should have an owner upon creation.");
+  }
+
+  function testChangesOwner() {
+    address originalOwner = ownable.owner();
+    ownable.transfer(0x0);
+    Assert.notEqual(originalOwner, ownable.owner(), "Ownable should change owners after transfer.");
+  }
+
+  function testOnlyOwnerCanChangeOwner() {
+    Ownable deployedOwnable = Ownable(DeployedAddresses.Ownable());
+    address originalOwner = deployedOwnable.owner();
+    deployedOwnable.transfer(0x0);
+    Assert.equal(originalOwner, deployedOwnable.owner(), "Ownable should prevent non-owners from transfering");
+  }
+}