Add tests for setting operator share to 100%
This commit is contained in:
		@@ -174,7 +174,7 @@ blockchainTests('Staking Pool Management', env => {
 | 
				
			|||||||
            // decrease operator share
 | 
					            // decrease operator share
 | 
				
			||||||
            await poolOperator.decreaseStakingPoolOperatorShareAsync(poolId, increasedOperatorShare, revertError);
 | 
					            await poolOperator.decreaseStakingPoolOperatorShareAsync(poolId, increasedOperatorShare, revertError);
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
        it('Should fail if operator calls decreaseStakingPoolOperatorShare but newOperatorShare == oldOperatorShare', async () => {
 | 
					        it('Should be successful if operator calls decreaseStakingPoolOperatorShare and newOperatorShare == oldOperatorShare', async () => {
 | 
				
			||||||
            // test parameters
 | 
					            // test parameters
 | 
				
			||||||
            const operatorAddress = users[0];
 | 
					            const operatorAddress = users[0];
 | 
				
			||||||
            const operatorShare = (39 / 100) * PPM_DENOMINATOR;
 | 
					            const operatorShare = (39 / 100) * PPM_DENOMINATOR;
 | 
				
			||||||
@@ -184,13 +184,8 @@ blockchainTests('Staking Pool Management', env => {
 | 
				
			|||||||
            const poolId = await poolOperator.createStakingPoolAsync(operatorShare, false);
 | 
					            const poolId = await poolOperator.createStakingPoolAsync(operatorShare, false);
 | 
				
			||||||
            expect(poolId).to.be.equal(stakingConstants.INITIAL_POOL_ID);
 | 
					            expect(poolId).to.be.equal(stakingConstants.INITIAL_POOL_ID);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const revertError = new StakingRevertErrors.OperatorShareError(
 | 
					 | 
				
			||||||
                StakingRevertErrors.OperatorShareErrorCodes.CanOnlyDecreaseOperatorShare,
 | 
					 | 
				
			||||||
                poolId,
 | 
					 | 
				
			||||||
                operatorShare,
 | 
					 | 
				
			||||||
            );
 | 
					 | 
				
			||||||
            // decrease operator share
 | 
					            // decrease operator share
 | 
				
			||||||
            await poolOperator.decreaseStakingPoolOperatorShareAsync(poolId, operatorShare, revertError);
 | 
					            await poolOperator.decreaseStakingPoolOperatorShareAsync(poolId, operatorShare);
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
        it('should fail to decrease operator share if not called by operator', async () => {
 | 
					        it('should fail to decrease operator share if not called by operator', async () => {
 | 
				
			||||||
            // test parameters
 | 
					            // test parameters
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -170,6 +170,13 @@ blockchainTests.resets('MixinStakingPool unit tests', env => {
 | 
				
			|||||||
            expect(pool.operator).to.eq(operator);
 | 
					            expect(pool.operator).to.eq(operator);
 | 
				
			||||||
            expect(pool.operatorShare).to.bignumber.eq(operatorShare);
 | 
					            expect(pool.operatorShare).to.bignumber.eq(operatorShare);
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
 | 
					        it('records pool details when operator share is 100%', async () => {
 | 
				
			||||||
 | 
					            const operatorShare = constants.PPM_100_PERCENT;
 | 
				
			||||||
 | 
					            await testContract.createStakingPool.awaitTransactionSuccessAsync(operatorShare, false, { from: operator });
 | 
				
			||||||
 | 
					            const pool = await testContract.getStakingPool.callAsync(nextPoolId);
 | 
				
			||||||
 | 
					            expect(pool.operator).to.eq(operator);
 | 
				
			||||||
 | 
					            expect(pool.operatorShare).to.bignumber.eq(operatorShare);
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
        it('returns the next pool ID', async () => {
 | 
					        it('returns the next pool ID', async () => {
 | 
				
			||||||
            const poolId = await testContract.createStakingPool.callAsync(randomOperatorShare(), false, {
 | 
					            const poolId = await testContract.createStakingPool.callAsync(randomOperatorShare(), false, {
 | 
				
			||||||
                from: operator,
 | 
					                from: operator,
 | 
				
			||||||
@@ -239,20 +246,6 @@ blockchainTests.resets('MixinStakingPool unit tests', env => {
 | 
				
			|||||||
            const expectedError = new StakingRevertErrors.OnlyCallableByPoolOperatorError(maker, poolId);
 | 
					            const expectedError = new StakingRevertErrors.OnlyCallableByPoolOperatorError(maker, poolId);
 | 
				
			||||||
            return expect(tx).to.revertWith(expectedError);
 | 
					            return expect(tx).to.revertWith(expectedError);
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
        it('fails if operator share is equal to current', async () => {
 | 
					 | 
				
			||||||
            const { poolId, operatorShare } = await createPoolAsync();
 | 
					 | 
				
			||||||
            const tx = testContract.decreaseStakingPoolOperatorShare.awaitTransactionSuccessAsync(
 | 
					 | 
				
			||||||
                poolId,
 | 
					 | 
				
			||||||
                operatorShare,
 | 
					 | 
				
			||||||
                { from: operator },
 | 
					 | 
				
			||||||
            );
 | 
					 | 
				
			||||||
            const expectedError = new StakingRevertErrors.OperatorShareError(
 | 
					 | 
				
			||||||
                StakingRevertErrors.OperatorShareErrorCodes.CanOnlyDecreaseOperatorShare,
 | 
					 | 
				
			||||||
                poolId,
 | 
					 | 
				
			||||||
                operatorShare,
 | 
					 | 
				
			||||||
            );
 | 
					 | 
				
			||||||
            return expect(tx).to.revertWith(expectedError);
 | 
					 | 
				
			||||||
        });
 | 
					 | 
				
			||||||
        it('fails if operator share is greater than current', async () => {
 | 
					        it('fails if operator share is greater than current', async () => {
 | 
				
			||||||
            const { poolId, operatorShare } = await createPoolAsync();
 | 
					            const { poolId, operatorShare } = await createPoolAsync();
 | 
				
			||||||
            const tx = testContract.decreaseStakingPoolOperatorShare.awaitTransactionSuccessAsync(
 | 
					            const tx = testContract.decreaseStakingPoolOperatorShare.awaitTransactionSuccessAsync(
 | 
				
			||||||
@@ -291,6 +284,14 @@ blockchainTests.resets('MixinStakingPool unit tests', env => {
 | 
				
			|||||||
            const pool = await testContract.getStakingPool.callAsync(poolId);
 | 
					            const pool = await testContract.getStakingPool.callAsync(poolId);
 | 
				
			||||||
            expect(pool.operatorShare).to.bignumber.eq(operatorShare - 1);
 | 
					            expect(pool.operatorShare).to.bignumber.eq(operatorShare - 1);
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
 | 
					        it('does not modify operator share if equal to current', async () => {
 | 
				
			||||||
 | 
					            const { poolId, operatorShare } = await createPoolAsync();
 | 
				
			||||||
 | 
					            await testContract.decreaseStakingPoolOperatorShare.awaitTransactionSuccessAsync(poolId, operatorShare, {
 | 
				
			||||||
 | 
					                from: operator,
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					            const pool = await testContract.getStakingPool.callAsync(poolId);
 | 
				
			||||||
 | 
					            expect(pool.operatorShare).to.bignumber.eq(operatorShare);
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
        it('does not modify operator', async () => {
 | 
					        it('does not modify operator', async () => {
 | 
				
			||||||
            const { poolId, operatorShare } = await createPoolAsync();
 | 
					            const { poolId, operatorShare } = await createPoolAsync();
 | 
				
			||||||
            await testContract.decreaseStakingPoolOperatorShare.awaitTransactionSuccessAsync(
 | 
					            await testContract.decreaseStakingPoolOperatorShare.awaitTransactionSuccessAsync(
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user