MockForgeAdapter
Defined in: packages/core/src/test-utils/MockForgeAdapter.ts:57
A test double for ForgeAdapter that records all calls and returns configurable responses from a FIFO queue.
This is the primary tool for unit testing generated client functions without a real Forge runtime or network connection.
Responses are dequeued in the order they were queued. If the queue is empty,
a default 200 OK with {} body is returned. Errors queued via
queueThrow() are thrown before checking the response queue.
Example
Section titled “Example”import { MockForgeAdapter, asApp } from '@forge-clients/core';import { getIssue } from '@forge-clients/jira/v3';
const mock = new MockForgeAdapter('jira');mock.queueResponse({ id: '123', key: 'PROJ-1', fields: {} });
const client = asApp(mock);const issue = await getIssue(client, { path: { issueIdOrKey: 'PROJ-1' } });
expect(mock.callCount).toBe(1);expect(mock.getLastCall()?.path).toBe('/rest/api/3/issue/PROJ-1');Implements
Section titled “Implements”Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new MockForgeAdapter(
product?):MockForgeAdapter
Defined in: packages/core/src/test-utils/MockForgeAdapter.ts:68
Create a new MockForgeAdapter.
Parameters
Section titled “Parameters”product?
Section titled “product?”"jira" | "confluence"
The Atlassian product to simulate (default: 'jira')
Returns
Section titled “Returns”MockForgeAdapter
Properties
Section titled “Properties”product
Section titled “product”
readonlyproduct:"jira"|"confluence"
Defined in: packages/core/src/test-utils/MockForgeAdapter.ts:58
The Atlassian product this adapter is configured to make requests to
Implementation of
Section titled “Implementation of”Accessors
Section titled “Accessors”callCount
Section titled “callCount”Get Signature
Section titled “Get Signature”get callCount():
number
Defined in: packages/core/src/test-utils/MockForgeAdapter.ts:107
The total number of calls made to fetch() since the last reset()
Returns
Section titled “Returns”number
Methods
Section titled “Methods”fetch()
Section titled “fetch()”fetch(
options):Promise<Response>
Defined in: packages/core/src/test-utils/MockForgeAdapter.ts:72
Execute an HTTP request and return a standard Response.
Implementations are responsible for authentication header injection,
URL construction, and serialisation.
Parameters
Section titled “Parameters”options
Section titled “options”Returns
Section titled “Returns”Promise<Response>
Implementation of
Section titled “Implementation of”getCall()
Section titled “getCall()”getCall(
index):RecordedCall|undefined
Defined in: packages/core/src/test-utils/MockForgeAdapter.ts:105
Returns the recorded call at the given zero-based index, or undefined if out of range
Parameters
Section titled “Parameters”number
Returns
Section titled “Returns”RecordedCall | undefined
getCalls()
Section titled “getCalls()”getCalls():
RecordedCall[]
Defined in: packages/core/src/test-utils/MockForgeAdapter.ts:101
Returns a copy of all recorded calls in the order they were made
Returns
Section titled “Returns”getLastCall()
Section titled “getLastCall()”getLastCall():
RecordedCall|undefined
Defined in: packages/core/src/test-utils/MockForgeAdapter.ts:103
Returns the most recent recorded call, or undefined if no calls have been made
Returns
Section titled “Returns”RecordedCall | undefined
queueErrorResponse()
Section titled “queueErrorResponse()”queueErrorResponse(
status,body?):this
Defined in: packages/core/src/test-utils/MockForgeAdapter.ts:131
Queue a non-2xx error response
Parameters
Section titled “Parameters”status
Section titled “status”number
unknown = {}
Returns
Section titled “Returns”this
queueNoContent()
Section titled “queueNoContent()”queueNoContent():
this
Defined in: packages/core/src/test-utils/MockForgeAdapter.ts:142
Queue a 204 No Content response
Returns
Section titled “Returns”this
queueResponse()
Section titled “queueResponse()”queueResponse(
body,status?):this
Defined in: packages/core/src/test-utils/MockForgeAdapter.ts:120
Queue a successful JSON response (FIFO order)
Parameters
Section titled “Parameters”unknown
status?
Section titled “status?”number = 200
Returns
Section titled “Returns”this
queueThrow()
Section titled “queueThrow()”queueThrow(
error?):this
Defined in: packages/core/src/test-utils/MockForgeAdapter.ts:148
Queue a network-level error (fetch throws, no Response)
Parameters
Section titled “Parameters”error?
Section titled “error?”Error = ...
Returns
Section titled “Returns”this
reset()
Section titled “reset()”reset():
this
Defined in: packages/core/src/test-utils/MockForgeAdapter.ts:110
Reset all recorded calls and queued responses
Returns
Section titled “Returns”this