From b39bde4bd3c5530434c0936f698b746acc978986 Mon Sep 17 00:00:00 2001 From: Simon Warta Date: Tue, 31 Jan 2023 11:23:03 +0100 Subject: [PATCH] Use events object instead of parsing rawLog in tests --- .../src/modules/wasm/queries.spec.ts | 35 ++++++++++--------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/packages/cosmwasm-stargate/src/modules/wasm/queries.spec.ts b/packages/cosmwasm-stargate/src/modules/wasm/queries.spec.ts index 5a35b19957..7605c808a3 100644 --- a/packages/cosmwasm-stargate/src/modules/wasm/queries.spec.ts +++ b/packages/cosmwasm-stargate/src/modules/wasm/queries.spec.ts @@ -11,7 +11,7 @@ import { SigningStargateClient, StdFee, } from "@cosmjs/stargate"; -import { assert } from "@cosmjs/utils"; +import { assert, assertDefined } from "@cosmjs/utils"; import { MsgExecuteContract, MsgInstantiateContract, MsgStoreCode } from "cosmjs-types/cosmwasm/wasm/v1/tx"; import { ContractCodeHistoryOperationType } from "cosmjs-types/cosmwasm/wasm/v1/types"; import Long from "long"; @@ -137,18 +137,19 @@ describe("WasmExtension", () => { const wallet = await DirectSecp256k1HdWallet.fromMnemonic(alice.mnemonic, { prefix: wasmd.prefix }); const result = await uploadContract(wallet, hackatom); assertIsDeliverTxSuccess(result); - hackatomCodeId = Number.parseInt( - JSON.parse(result.rawLog!)[0] - .events.find((event: any) => event.type === "store_code") - .attributes.find((attribute: any) => attribute.key === "code_id").value, - 10, - ); + const codeIdFromEvents = result.events + .find((event) => event.type === "store_code") + ?.attributes.find((attribute) => attribute.key === "code_id")?.value; + assertDefined(codeIdFromEvents); + hackatomCodeId = Number.parseInt(codeIdFromEvents, 10); const instantiateResult = await instantiateContract(wallet, hackatomCodeId, makeRandomAddress()); assertIsDeliverTxSuccess(instantiateResult); - hackatomContractAddress = JSON.parse(instantiateResult.rawLog!)[0] - .events.find((event: any) => event.type === "instantiate") - .attributes.find((attribute: any) => attribute.key === "_contract_address").value; + const addr = instantiateResult.events + .find((event) => event.type === "instantiate") + ?.attributes.find((attribute) => attribute.key === "_contract_address")?.value; + assertDefined(addr); + hackatomContractAddress = addr; } }); @@ -199,9 +200,10 @@ describe("WasmExtension", () => { const funds = coins(707707, "ucosm"); const result = await instantiateContract(wallet, hackatomCodeId, beneficiaryAddress, funds); assertIsDeliverTxSuccess(result); - const myAddress = JSON.parse(result.rawLog!)[0] - .events.find((event: any) => event.type === "instantiate") - .attributes!.find((attribute: any) => attribute.key === "_contract_address").value; + const myAddress = result.events + .find((event) => event.type === "instantiate") + ?.attributes.find((attribute) => attribute.key === "_contract_address")?.value; + assertDefined(myAddress); const { contracts: newContracts } = await client.wasm.listContractsByCodeId(hackatomCodeId); assert(newContracts); @@ -245,9 +247,10 @@ describe("WasmExtension", () => { const result = await instantiateContract(wallet, hackatomCodeId, beneficiaryAddress, funds); assertIsDeliverTxSuccess(result); - const myAddress = JSON.parse(result.rawLog!)[0] - .events.find((event: any) => event.type === "instantiate") - .attributes!.find((attribute: any) => attribute.key === "_contract_address").value; + const myAddress = result.events + .find((event) => event.type === "instantiate") + ?.attributes.find((attribute) => attribute.key === "_contract_address")?.value; + assertDefined(myAddress); const history = await client.wasm.getContractCodeHistory(myAddress); assert(history.entries);