Access to an instance with :
const mockAgent = new MockAgent({ enableCallHistory: true })
mockAgent.getCallHistory()
// or
const mockAgent = new MockAgent()
mockAgent.enableMockHistory()
mockAgent.getCallHistory()
a MockCallHistory instance implements a Symbol.iterator letting you iterate on registered logs :
for (const log of mockAgent.getCallHistory()) {
//...
}
const array: Array<MockCallHistoryLog> = [...mockAgent.getCallHistory()]
const set: Set<MockCallHistoryLog> = new Set(mockAgent.getCallHistory())
Clear all MockCallHistoryLog registered. This is automatically done when calling mockAgent.close()
mockAgent.clearCallHistory()
// same as
mockAgent.getCallHistory()?.clear()
Get all MockCallHistoryLog registered as an array
mockAgent.getCallHistory()?.calls()
Get the first MockCallHistoryLog registered or undefined
mockAgent.getCallHistory()?.firstCall()
Get the last MockCallHistoryLog registered or undefined
mockAgent.getCallHistory()?.lastCall()
Get the nth MockCallHistoryLog registered or undefined
mockAgent.getCallHistory()?.nthCall(3) // the third MockCallHistoryLog registered
Filter MockCallHistoryLog by protocol.
more details for the first parameter can be found here
mockAgent.getCallHistory()?.filterCallsByProtocol(/https/)
mockAgent.getCallHistory()?.filterCallsByProtocol('https:')
Filter MockCallHistoryLog by host.
more details for the first parameter can be found here
mockAgent.getCallHistory()?.filterCallsByHost(/localhost/)
mockAgent.getCallHistory()?.filterCallsByHost('localhost:3000')
Filter MockCallHistoryLog by port.
more details for the first parameter can be found here
mockAgent.getCallHistory()?.filterCallsByPort(/3000/)
mockAgent.getCallHistory()?.filterCallsByPort('3000')
mockAgent.getCallHistory()?.filterCallsByPort('')
Filter MockCallHistoryLog by origin.
more details for the first parameter can be found here
mockAgent.getCallHistory()?.filterCallsByOrigin(/http:\/\/localhost:3000/)
mockAgent.getCallHistory()?.filterCallsByOrigin('http://localhost:3000')
Filter MockCallHistoryLog by path.
more details for the first parameter can be found here
mockAgent.getCallHistory()?.filterCallsByPath(/api\/v1\/graphql/)
mockAgent.getCallHistory()?.filterCallsByPath('/api/v1/graphql')
Filter MockCallHistoryLog by hash.
more details for the first parameter can be found here
mockAgent.getCallHistory()?.filterCallsByPath(/hash/)
mockAgent.getCallHistory()?.filterCallsByPath('#hash')
Filter MockCallHistoryLog by fullUrl. fullUrl contains protocol, host, port, path, hash, and query params
more details for the first parameter can be found here
mockAgent.getCallHistory()?.filterCallsByFullUrl(/https:\/\/localhost:3000\/\?query=value#hash/)
mockAgent.getCallHistory()?.filterCallsByFullUrl('https://localhost:3000/?query=value#hash')
Filter MockCallHistoryLog by method.
more details for the first parameter can be found here
mockAgent.getCallHistory()?.filterCallsByMethod(/POST/)
mockAgent.getCallHistory()?.filterCallsByMethod('POST')
This class method is a meta function / alias to apply complex filtering in a single way.
Parameters :
- criteria : the first parameter. a function, regexp or object.
- function : filter MockCallHistoryLog when the function returns false
- regexp : filter MockCallHistoryLog when the regexp does not match on MockCallHistoryLog.toString() (see)
- object : an object with MockCallHistoryLog properties as keys to apply multiple filters. each values are a filter parameter
- options : the second parameter. an object.
- options.operator :
'AND'
or'OR'
(default'OR'
). Used only if criteria is an object. see below
- options.operator :
mockAgent.getCallHistory()?.filterCalls((log) => log.hash === value && log.headers?.['authorization'] !== undefined)
mockAgent.getCallHistory()?.filterCalls(/"data": "{ "errors": "wrong body" }"/)
// returns an Array of MockCallHistoryLog which all have
// - a hash containing my-hash
// - OR
// - a path equal to /endpoint
mockAgent.getCallHistory()?.filterCalls({ hash: /my-hash/, path: '/endpoint' })
// returns an Array of MockCallHistoryLog which all have
// - a hash containing my-hash
// - AND
// - a path equal to /endpoint
mockAgent.getCallHistory()?.filterCalls({ hash: /my-hash/, path: '/endpoint' }, { operator: 'AND' })
Can be :
- string. MockCallHistoryLog filtered if
value !== parameterValue
- null. MockCallHistoryLog filtered if
value !== parameterValue
- undefined. MockCallHistoryLog filtered if
value !== parameterValue
- regexp. MockCallHistoryLog filtered if
!parameterValue.test(value)