github.com/Finschia/finschia-sdk@v0.48.1/x/capability/simulation/decoder_test.go (about) 1 package simulation_test 2 3 import ( 4 "fmt" 5 "testing" 6 7 "github.com/stretchr/testify/require" 8 9 "github.com/Finschia/finschia-sdk/simapp" 10 sdk "github.com/Finschia/finschia-sdk/types" 11 "github.com/Finschia/finschia-sdk/types/kv" 12 "github.com/Finschia/finschia-sdk/x/capability/simulation" 13 "github.com/Finschia/finschia-sdk/x/capability/types" 14 ) 15 16 func TestDecodeStore(t *testing.T) { 17 cdc := simapp.MakeTestEncodingConfig().Marshaler 18 dec := simulation.NewDecodeStore(cdc) 19 20 capOwners := types.CapabilityOwners{ 21 Owners: []types.Owner{{Module: "transfer", Name: "ports/transfer"}}, 22 } 23 24 kvPairs := kv.Pairs{ 25 Pairs: []kv.Pair{ 26 { 27 Key: types.KeyIndex, 28 Value: sdk.Uint64ToBigEndian(10), 29 }, 30 { 31 Key: types.KeyPrefixIndexCapability, 32 Value: cdc.MustMarshal(&capOwners), 33 }, 34 { 35 Key: []byte{0x99}, 36 Value: []byte{0x99}, 37 }, 38 }, 39 } 40 tests := []struct { 41 name string 42 expectedLog string 43 }{ 44 {"Index", "Index A: 10\nIndex B: 10\n"}, 45 {"CapabilityOwners", fmt.Sprintf("CapabilityOwners A: %v\nCapabilityOwners B: %v\n", capOwners, capOwners)}, 46 {"other", ""}, 47 } 48 49 for i, tt := range tests { 50 i, tt := i, tt 51 t.Run(tt.name, func(t *testing.T) { 52 switch i { 53 case len(tests) - 1: 54 require.Panics(t, func() { dec(kvPairs.Pairs[i], kvPairs.Pairs[i]) }, tt.name) 55 default: 56 require.Equal(t, tt.expectedLog, dec(kvPairs.Pairs[i], kvPairs.Pairs[i]), tt.name) 57 } 58 }) 59 } 60 }