cosmos-sdk/x/group/internal/orm/sequence_test.go
Likhita Polavarapu 7559d9ecd3
refactor: create go.mod for store (#14746)
Co-authored-by: Marko <marbar3778@yahoo.com>
2023-01-25 13:31:56 +00:00

40 lines
922 B
Go

package orm
import (
"testing"
storetypes "cosmossdk.io/store/types"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/cosmos/cosmos-sdk/x/group/errors"
)
func TestSequenceUniqueConstraint(t *testing.T) {
ctx := NewMockContext()
store := ctx.KVStore(storetypes.NewKVStoreKey("test"))
seq := NewSequence(0x1)
err := seq.InitVal(store, 2)
require.NoError(t, err)
err = seq.InitVal(store, 3)
require.True(t, errors.ErrORMUniqueConstraint.Is(err))
}
func TestSequenceIncrements(t *testing.T) {
ctx := NewMockContext()
store := ctx.KVStore(storetypes.NewKVStoreKey("test"))
seq := NewSequence(0x1)
var i uint64
for i = 1; i < 10; i++ {
autoID := seq.NextVal(store)
assert.Equal(t, i, autoID)
assert.Equal(t, i, seq.CurVal(store))
}
seq = NewSequence(0x1)
assert.Equal(t, uint64(10), seq.PeekNextVal(store))
assert.Equal(t, uint64(9), seq.CurVal(store))
}