Skip to content

@gala-chain/testAPI


API > MockedChaincodeClient

Class: MockedChaincodeClient

Mocked implementation of ChainClient for testing chaincode methods.

Executes chaincode methods in-memory using TestChaincode instead of submitting transactions to a real Hyperledger Fabric network.

Contents

Extends

  • ChainClient

Constructors

new MockedChaincodeClient(builder, chaincode, contractConfig, orgMsp, userId)

new MockedChaincodeClient(builder, chaincode, contractConfig, orgMsp, userId): MockedChaincodeClient

Creates a new mocked chaincode client.

Parameters

builder: MockedChaincodeClientBuilder

The builder that created this client

chaincode: Promise\<TestChaincode>

Promise resolving to the test chaincode instance

contractConfig: ContractConfig

Contract configuration

orgMsp: string

Organization MSP ID

userId: string

User ID for authentication

Overrides

ChainClient.constructor

Source

chain-test/src/e2e/MockedChaincodeClient.ts:188

Properties

builder

readonly builder: Promise\<ChainClientBuilder>

Inherited from

ChainClient.builder

Source

chain-api/src/client/generic/ChainClient.ts:27


chaincode

private readonly chaincode: Promise\<TestChaincode>

Source

chain-test/src/e2e/MockedChaincodeClient.ts:175


contractConfig

readonly contractConfig: ContractConfig

Inherited from

ChainClient.contractConfig

Source

chain-api/src/client/generic/ChainClient.ts:29


customBuilder

private readonly customBuilder: MockedChaincodeClientBuilder

Source

chain-test/src/e2e/MockedChaincodeClient.ts:177


orgMsp

readonly orgMsp: string

Inherited from

ChainClient.orgMsp

Source

chain-api/src/client/generic/ChainClient.ts:30


transactionDelayMs

private transactionDelayMs: number

Source

chain-test/src/e2e/MockedChaincodeClient.ts:176


userId

readonly userId: string

Inherited from

ChainClient.userId

Source

chain-api/src/client/generic/ChainClient.ts:28

Methods

disconnect()

disconnect(): Promise\<void>

Disconnects the client (no-op for mocked implementation).

Overrides

ChainClient.disconnect

Source

chain-test/src/e2e/MockedChaincodeClient.ts:299


evaluateTransaction()

evaluateTransaction\<T>(method, dtoOrResp?, resp?): Promise\<GalaChainResponse\<T>>

Evaluates a transaction on the mocked chaincode (read-only access).

Type parameters

T

Expected response type

Parameters

method: string

Contract method name to query

dtoOrResp?: ChainCallDTO | ClassType\<Inferred\<T>>

DTO to pass as argument, or response class if no DTO

resp?: ClassType\<Inferred\<T>>

Response class when DTO is provided

Returns

Promise resolving to the method response

Overrides

ChainClient.evaluateTransaction

Source

chain-test/src/e2e/MockedChaincodeClient.ts:241


extendAPI()

extendAPI\<T>(apiHandlerFn): MockedChaincodeClient & T

Type parameters

T extends object

Parameters

apiHandlerFn: (_) => T

Inherited from

ChainClient.extendAPI

Source

chain-api/src/client/generic/ChainClient.ts:64


forUser()

forUser(userId, secret?): ChainClient

Creates a new client instance for a different user.

Parameters

userId: string

New user ID to authenticate as

secret?: string

User secret (unused in mocked implementation)

Returns

New client instance for the specified user

Overrides

ChainClient.forUser

Source

chain-test/src/e2e/MockedChaincodeClient.ts:286


getParameters()

private getParameters\<T>(method, dtoOrResp?, resp?): object

Processes method parameters for chaincode invocation.

Type parameters

T

Expected response type

Parameters

method: string

Contract method name

dtoOrResp?: Record\<string, unknown> | ChainCallDTO | ClassType\<Inferred\<T>>

DTO or response class

resp?: ClassType\<Inferred\<T>>

Response class

Returns

Processed parameters for chaincode invocation

args

args: string[]

fullMethod

fullMethod: string

responseClass

responseClass: ClassType\<Inferred\<T>>

Source

chain-test/src/e2e/MockedChaincodeClient.ts:263


optionalDelay()

private optionalDelay(): Promise\<void>

Applies optional transaction delay for testing timing scenarios.

Source

chain-test/src/e2e/MockedChaincodeClient.ts:205


submitTransaction()

submitTransaction\<T>(method, dtoOrResp?, resp?): Promise\<GalaChainResponse\<T>>

Submits a transaction to the mocked chaincode (with write access).

Type parameters

T

Expected response type

Parameters

method: string

Contract method name to invoke

dtoOrResp?: ChainCallDTO | ClassType\<Inferred\<T>>

DTO to pass as argument, or response class if no DTO

resp?: ClassType\<Inferred\<T>>

Response class when DTO is provided

Returns

Promise resolving to the method response

Overrides

ChainClient.submitTransaction

Source

chain-test/src/e2e/MockedChaincodeClient.ts:220


withTransactionDelay()

withTransactionDelay(transactionDelayMs): MockedChaincodeClient

Sets a delay for transactions to simulate network latency.

Parameters

transactionDelayMs: number

Delay in milliseconds

Returns

This client instance for method chaining

Source

chain-test/src/e2e/MockedChaincodeClient.ts:309