소스 검색

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