UNPKG

@cosmology/ast

Version:
58 lines (54 loc) 1.82 kB
import { InterfaceTypeUrlMap } from '@cosmology/types'; import { expectCode, printCode, getTestProtoStore } from '../../../../../test-utils/' import { ProtoParseContext } from '../../../context'; import { createInterfaceToAmino, createInterfaceToAminoHelper } from '../to-amino'; const store = getTestProtoStore(); store.options.interfaces.enabled = true; store.options.aminoEncoding.enabled = true; store.options.aminoEncoding.useLegacyInlineEncoding = false; store.traverseAll(); const typeMap: InterfaceTypeUrlMap = { ProposalContentI: [ { ref: 'a/b/c.proto', pkg: 'a.b.c', types: [ { typeUrl: '/cosmos.gov.v1beta1.TextProposal', aminoType: 'cosmos-sdk/TextProposal', type: 'TextProposal', importAs: 'TextProposal' } ] } ] }; describe('ProposalContent', () => { const txRef = store.findProto('cosmos/gov/v1/tx.proto'); const txContext = new ProtoParseContext(txRef, store, store.options); it('ProposalContent helper', () => { expectCode(createInterfaceToAminoHelper( txContext, 'ProposalContentI_toAmino', typeMap['ProposalContentI'] )); }); it('ProposalContent', () => { expectCode(createInterfaceToAmino( txContext, txRef, 'ProposalContentI', )); }); }); describe('MsgCreateValidator', () => { const ref = store.findProto('cosmos/staking/v1beta1/tx.proto'); const ctx = new ProtoParseContext(ref, store, store.options); it('MsgCreateValidator', () => { expectCode(createInterfaceToAmino( ctx, ref, 'cosmos.crypto.PubKey', )); }); });