CodeceptJS helper for HTTP Mock with Mochawesome logging
npm install codeceptjs-httpmockcodeceptjs-httpmock is CodeceptJS helper which wraps mockttp library to manage http mock in tests.
NPM package: https://www.npmjs.com/package/codeceptjs-httpmock
This helper should be configured in codecept.json/codecept.conf.js
- port: mock port. Default 9037
- debug: - (optional) enable debug logs. Default false
Example:
``json`
{
"helpers": {
"HTTPMock" : {
"require": "codeceptjs-httpmock",
"debug": false,
"port": 9037
}
}
}
Set up mock for method и urlPath. Response calculates in callback function.
`js`
I.respondWith('POST', '/url', (req) => {
if (req.body.status === 'good') {
return { status: 200, body: '{"Status":"OK"}', headers: { 'Content-Type': 'application/json' } };
}
return { status: 400, body: { error: 'badman' } }
});
Parameters
- method - request methodurlPath
- - relative path for mockcallback
- - (optional) callback function. Should return response objectctx
- - (optional) mockttp context
Validates that request comes for method and urlpath that satisfies predicate function
`js`
I.expectRequestUntil('POST', '/myPath', req =>
req.body.json.param === 'myValue'
);
Parameters
- method - request methodurlPath
- - relative path for mockpredicate
- - (optional) specify predicate function. Predicate function should return true value.timeout
- - (optional) timeout in ms. After the end of the timeout method will throw Error
Validates that no request comes for method and urlpath that satisfies predicate function
`js`
I.dontExpectRequestUntil('POST', '/myPath', req =>
req.body.json.param === 'myValue'
);
Parameters
- method - request methodurlPath
- - relative path for mockpredicate
- - (optional) specify predicate function. Predicate function should return false value.timeout
- - (optional) timeout in ms. After this timeout helper will check that there were no requests
Get requests that comes to mock server by method and urlPath
`js`
let requests = await I.grabServerRequests('POST', '/myPath');
Parameters
- method - request methodurlPath` - relative path for mock
-