planetmint-go/x/dao/keeper/redeem_claim_test.go
Lorenz Herzberger a38fe781ba
187 implement rddl claim (#298)
* ignite scaffold map redeem-claim amount issued:bool --module dao --index beneficiary,liquid-tx-hash

* revert: remove autogenerated delete redeem claim logic

* fix: replace deprecated autogenerated sdkerrors with errorsmod

* refactor: rename issued to confirmed on redeem claim

* feat: add claim address param

* test: add test for restricted msg UpdateRedeemClaim

* refactor: update redeem claim key creation and messages

* feat: add SendUpdateRedeemCLaim to util

* feat: add RedeemClaimDecorator for ante package

* ignite scaffold message confirm-redeem-claim id:uint beneficiary:string --module dao

* feat: add handleConfirmRedeemClaim to ante handler

* feat: add handleUpdateRedeemClaim to ante handler

* feat: implement ConfirmRedeemClaim msg handler

* test: add redeem claim test and adjust e2e test suite

* fix: make use of uint to rddl string util in CreateRedeemClaim

* fix: linter and staticcheck errors

* ignite scaffold query redeem-claim-by-liquid-tx-hash liquid-tx-hash --response redeem-claim:RedeemClaim --module dao

* feat: add RedeemClaimByLiquidTXHash store capabilities

* test: add QueryRedeemClaimByLiquidTxHash to e2e test suite

* feat: add RedeemClaimDecorator to ante handler chain

* fix: remove redundant planetmint-go from service path

* fix: linter and staticcheck errors

* fix: go vet errors

* fix: remove unused autogenerated simulation

* fix: broken simulation

* fix: openapi.yml

* revert: remove autogenerated redundant test file that causes data race on pipeline

* feat: burn claim on CreateRedeemClaim

* fix: linter error

* test: fix mock bankkeeper for msg server test

* fix: reissuance test if statement

* chore: removed TODO comment

* fix: typo in redeem claim error msg

* revert: remove autogenerated genesis state

* fix: dao module simulation

* revert: remove unused function

* fix: linter errors

* fix: linter error

---------

Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
2024-02-01 09:57:58 +01:00

67 lines
1.7 KiB
Go

package keeper_test
import (
"strconv"
"testing"
sdk "github.com/cosmos/cosmos-sdk/types"
keepertest "github.com/planetmint/planetmint-go/testutil/keeper"
"github.com/planetmint/planetmint-go/testutil/nullify"
"github.com/planetmint/planetmint-go/x/dao/keeper"
"github.com/planetmint/planetmint-go/x/dao/types"
"github.com/stretchr/testify/require"
)
// Prevent strconv unused error
var _ = strconv.IntSize
func createNRedeemClaim(keeper *keeper.Keeper, ctx sdk.Context, n int) []types.RedeemClaim {
items := make([]types.RedeemClaim, n)
for i := range items {
items[i].Beneficiary = strconv.Itoa(i)
id := keeper.CreateNewRedeemClaim(ctx, items[i])
items[i].Id = id
}
return items
}
func TestRedeemClaimGet(t *testing.T) {
t.Parallel()
keeper, ctx := keepertest.DaoKeeper(t)
items := createNRedeemClaim(keeper, ctx, 10)
for _, item := range items {
rst, found := keeper.GetRedeemClaim(ctx,
item.Beneficiary,
item.Id,
)
require.True(t, found)
require.Equal(t,
nullify.Fill(&item),
nullify.Fill(&rst),
)
}
}
func TestRedeemClaimGetAll(t *testing.T) {
t.Parallel()
keeper, ctx := keepertest.DaoKeeper(t)
items := createNRedeemClaim(keeper, ctx, 10)
require.ElementsMatch(t,
nullify.Fill(items),
nullify.Fill(keeper.GetAllRedeemClaim(ctx)),
)
}
func TestRedeemClaimByLiquidTXHash(t *testing.T) {
t.Parallel()
keeper, ctx := keepertest.DaoKeeper(t)
items := createNRedeemClaim(keeper, ctx, 10)
for i, item := range items {
item.LiquidTxHash = strconv.Itoa(i)
keeper.SetRedeemClaimByLiquidTXHash(ctx, item)
rc, found := keeper.GetRedeemClaimByLiquidTXHash(ctx, strconv.Itoa(i))
require.True(t, found)
require.Equal(t, item, rc)
}
}