diff --git a/contracts/crowdsale/CappedCrowdsale.sol b/contracts/crowdsale/CappedCrowdsale.sol index f04649f36..f4f864e93 100644 --- a/contracts/crowdsale/CappedCrowdsale.sol +++ b/contracts/crowdsale/CappedCrowdsale.sol @@ -13,6 +13,7 @@ contract CappedCrowdsale is Crowdsale { uint256 public cap; function CappedCrowdsale(uint256 _cap) { + require(_cap > 0); cap = _cap; } diff --git a/test/CappedCrowdsale.js b/test/CappedCrowdsale.js index 0a24800b4..753da5c18 100644 --- a/test/CappedCrowdsale.js +++ b/test/CappedCrowdsale.js @@ -19,6 +19,15 @@ contract('CappedCrowdsale', function ([_, wallet]) { const cap = ether(300) const lessThanCap = ether(60) + describe('creating a valid crowdsale', function () { + + it('should fail with zero cap', async function () { + await CappedCrowdsale.new(this.startBlock, this.endBlock, rate, wallet, 0).should.be.rejectedWith(EVMThrow); + }) + + }); + + beforeEach(async function () { this.startBlock = web3.eth.blockNumber + 10 this.endBlock = web3.eth.blockNumber + 20