axios-record-replay-adapter
v1.1.1
Published
Sit back, relax, and enjoy automatic mocking for axios HTTP requests
Readme
axios-record-replay-adapter 🎥 🎬 🍿
Sit back, relax, and enjoy automatic mocking for axios HTTP requests
Table of contents
Installation
yarn
yarn add axios
yarn add axios-record-replay-adapter --devnpm
npm i axios --save
npm i axios-record-replay-adapter --save-devSetup
Ignore recordings directory
When running tests in watch mode, the recordings directory must be ignored to prevent recording files from triggering tests to re-run.
Jest
{
"jest": {
"watchPathIgnorePatterns": [
"<rootDir>/recordings"
]
}
}Usage
With defaults
useAxiosRecordReplayAdapter()With options
const customAxiosIntance = axios.create()
useAxiosRecordReplayAdapter({
axiosInstance: customAxiosInstance
recordingsDir: './tests/recordings'
})Restore axios default adapter
axios-record-replay-adpater returns a function to restore the default axios adapter.
const restoreDefaultAdapater = useAxiosRecordReplay()
restoreDefaultAdapater()Advanced usage
With buildRequest()
useAxiosRecordReplayAdapter({
buildRequest(axiosRequestConfig) {
return {
path: new URL(axiosRequestConfig.url).pathname
}
}
})With buildResponse()
useAxiosRecordReplayAdapter({
buildResponse(axiosResponse) {
return {
data: axiosResponse.data
}
}
})With buildFilenamePrefix()
NOTE: The result of
buildRequest()gets passed tobuildFilenamePrefix(request)
useAxiosRecordReplayAdapter({
buildFilenamePrefix(requestFromBuildRequest) {
return request.path.replace(/\//g, '-').slice(1)
}
})Contributing
- Fork this repository to your own GitHub account and then clone it to your local device
- Install the dependecies using
yarn - Link the package to the global module directory:
yarn link - Run
yarn test --watchand start making your changes - You can use
yarn link axios-record-replay-adapterto test your changes in a local project - Ensure any changes are documented in
CHANGELOG.md
License
MIT © Brent Mealhouse
