浏览代码

sanity check for RefundableCrowdsale: goal > 0

Jakub Wojciechowski 8 年之前
父节点
当前提交
950b6a5e56
共有 2 个文件被更改,包括 10 次插入0 次删除
  1. 1 0
      contracts/crowdsale/RefundableCrowdsale.sol
  2. 9 0
      test/RefundableCrowdsale.js

+ 1 - 0
contracts/crowdsale/RefundableCrowdsale.sol

@@ -22,6 +22,7 @@ contract RefundableCrowdsale is FinalizableCrowdsale {
   RefundVault public vault;
 
   function RefundableCrowdsale(uint256 _goal) {
+    require(_goal > 0);
     vault = new RefundVault(wallet);
     goal = _goal;
   }

+ 9 - 0
test/RefundableCrowdsale.js

@@ -17,6 +17,15 @@ contract('RefundableCrowdsale', function ([_, owner, wallet, investor]) {
   const goal = ether(800)
   const lessThanGoal = ether(750)
 
+  describe('creating a valid crowdsale', function () {
+
+    it('should fail with zero goal', async function () {
+      await RefundableCrowdsale.new(this.startBlock, this.endBlock, rate, wallet, 0, {from: owner}).should.be.rejectedWith(EVMThrow);
+    })
+
+  });
+
+
   beforeEach(async function () {
     this.startBlock = web3.eth.blockNumber + 10
     this.endBlock =   web3.eth.blockNumber + 20