UNPKG

@cosmology/ast

Version:
39 lines 1.45 kB
import { getNestedProto } from '@cosmology/utils'; import { expectCode, getTestProtoStore } from '../../../../../test-utils/'; import { ProtoParseContext } from '../../../context'; import { createObjectWithMethods } from '../../../object'; import { createInterfaceDecoder, createInterfaceDecoderHelper } from '../decoder'; const store = getTestProtoStore(); store.options.aminoEncoding.useRecursiveV2encoding = true; store.options.interfaces.enabled = true; store.traverseAll(); const typeMap = { PoolI: [{ ref: 'a/b/c.proto', pkg: 'a.b.c', types: [{ typeUrl: '/osmosis.gamm.poolmodels.stableswap.v1beta1.Pool', aminoType: 'osmo-sdk/StablePool', type: 'Pool', importAs: 'Pool1' }, { typeUrl: '/osmosis.gamm.v1beta1.Pool', aminoType: 'osmo-sdk/Pool', type: 'Pool', importAs: 'Pool2' }] }] }; describe('PoolI', () => { const queryRef = store.findProto('osmosis/gamm/v1beta1/query.proto'); const queryContext = new ProtoParseContext(queryRef, store, store.options); it('getMapFromTypeUrlMap', () => { expectCode(createInterfaceDecoder(queryContext, queryRef, 'PoolI')); }); it('PoolI', () => { expectCode(createInterfaceDecoderHelper(queryContext, 'PoolI_InterfaceDecoder', typeMap['PoolI'])); }); it('objects', () => { expectCode(createObjectWithMethods(queryContext, 'QueryPoolsResponse', getNestedProto(queryRef.traversed).QueryPoolsResponse)); }); });