60 lines
1.5 KiB
Go
60 lines
1.5 KiB
Go
package auth
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
|
)
|
|
|
|
var (
|
|
emptyCoins = sdk.Coins{}
|
|
oneCoin = sdk.Coins{sdk.NewInt64Coin("foocoin", 1)}
|
|
twoCoins = sdk.Coins{sdk.NewInt64Coin("foocoin", 2)}
|
|
)
|
|
|
|
func TestFeeCollectionKeeperGetSet(t *testing.T) {
|
|
input := setupTestInput()
|
|
ctx := input.ctx
|
|
|
|
// no coins initially
|
|
currFees := input.fck.GetCollectedFees(ctx)
|
|
require.True(t, currFees.IsEqual(emptyCoins))
|
|
|
|
// set feeCollection to oneCoin
|
|
input.fck.setCollectedFees(ctx, oneCoin)
|
|
|
|
// check that it is equal to oneCoin
|
|
require.True(t, input.fck.GetCollectedFees(ctx).IsEqual(oneCoin))
|
|
}
|
|
|
|
func TestFeeCollectionKeeperAdd(t *testing.T) {
|
|
input := setupTestInput()
|
|
ctx := input.ctx
|
|
|
|
// no coins initially
|
|
require.True(t, input.fck.GetCollectedFees(ctx).IsEqual(emptyCoins))
|
|
|
|
// add oneCoin and check that pool is now oneCoin
|
|
input.fck.AddCollectedFees(ctx, oneCoin)
|
|
require.True(t, input.fck.GetCollectedFees(ctx).IsEqual(oneCoin))
|
|
|
|
// add oneCoin again and check that pool is now twoCoins
|
|
input.fck.AddCollectedFees(ctx, oneCoin)
|
|
require.True(t, input.fck.GetCollectedFees(ctx).IsEqual(twoCoins))
|
|
}
|
|
|
|
func TestFeeCollectionKeeperClear(t *testing.T) {
|
|
input := setupTestInput()
|
|
ctx := input.ctx
|
|
|
|
// set coins initially
|
|
input.fck.setCollectedFees(ctx, twoCoins)
|
|
require.True(t, input.fck.GetCollectedFees(ctx).IsEqual(twoCoins))
|
|
|
|
// clear fees and see that pool is now empty
|
|
input.fck.ClearCollectedFees(ctx)
|
|
require.True(t, input.fck.GetCollectedFees(ctx).IsEqual(emptyCoins))
|
|
}
|