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