cosmos-sdk/collections/lookup_map_test.go
testinginprod fe22e9a5da
feat(core): add coretest package (#20487)
Co-authored-by: unknown unknown <unknown@unknown>
2024-06-05 22:11:33 +00:00

43 lines
965 B
Go

package collections_test
import (
"testing"
"github.com/stretchr/testify/require"
"cosmossdk.io/collections"
"cosmossdk.io/core/testing"
)
func TestLookupMap(t *testing.T) {
ctx := coretesting.Context()
sk := coretesting.KVStoreService(ctx, "test")
schema := collections.NewSchemaBuilder(sk)
lm := collections.NewLookupMap(schema, collections.NewPrefix("hi"), "lm", collections.Uint64Key, collections.Uint64Value)
_, err := schema.Build()
require.NoError(t, err)
// test not has
has, err := lm.Has(ctx, 1)
require.NoError(t, err)
require.False(t, has)
// test get error
_, err = lm.Get(ctx, 1)
require.ErrorIs(t, err, collections.ErrNotFound)
// test set/get
err = lm.Set(ctx, 1, 100)
require.NoError(t, err)
v, err := lm.Get(ctx, 1)
require.NoError(t, err)
require.Equal(t, uint64(100), v)
// test remove
err = lm.Remove(ctx, 1)
require.NoError(t, err)
has, err = lm.Has(ctx, 1)
require.NoError(t, err)
require.False(t, has)
}