Browse Source

added test for SimpleSavingsWallet

zava 7 years ago
parent
commit
46736da489
1 changed files with 38 additions and 2 deletions
  1. 38 2
      test/SimpleSavingsWallet.js

+ 38 - 2
test/SimpleSavingsWallet.js

@@ -1,4 +1,5 @@
 'use strict'
+import assertJump from './helpers/assertJump'
 
 const SimpleSavingsWallet = artifacts.require('../contracts/examples/SimpleSavingsWallet.sol')
 
@@ -6,11 +7,46 @@ contract('SimpleSavingsWallet', function(accounts) {
   let savingsWallet
   let owner
 
+	const paymentAmount = 4242
+ 
   beforeEach(async function() {
     savingsWallet = await SimpleSavingsWallet.new(4141)
-    owner = await inheritable.owner()
+    owner = await savingsWallet.owner()
   })
 
 	it('should receive funds', async function() {
-		await web3.eth.sendTransaction({from: owner, to: this.contract.address, value: amount})
+		await web3.eth.sendTransaction({from: owner, to: savingsWallet.address, value: paymentAmount})    
+    assert.isTrue(
+    	(new web3.BigNumber(paymentAmount)).equals(web3.eth.getBalance(savingsWallet.address))
+    )
   })
+
+  it('owner can send funds', async function() {
+  	// Receive payment so we have some money to spend.
+		await web3.eth.sendTransaction({from: accounts[9], to: savingsWallet.address, value: 1000000})
+    try {
+      await savingsWallet.sendTo(0, paymentAmount, {from: owner})
+      assert.fail('should have thrown before')
+    } catch(error) {
+      assertJump(error)
+    }
+    try {
+  		await savingsWallet.sendTo(savingsWallet.address, paymentAmount, {from: owner})
+      assert.fail('should have thrown before')
+    } catch(error) {
+      assertJump(error)
+    }
+    try {
+	  	await savingsWallet.sendTo(accounts[1], 0, {from: owner})
+      assert.fail('should have thrown before')
+    } catch(error) {
+      assertJump(error)
+    }
+
+    const balance = web3.eth.getBalance(accounts[1])
+  	await savingsWallet.sendTo(accounts[1], paymentAmount, {from: owner})
+  	assert.isTrue(
+  		balance.plus(paymentAmount).equals(web3.eth.getBalance(accounts[1]))
+  	)
+  })
+})