概要
フロントエンド(React)のテストを書いている際に、フィルタリング機能のテストをする必要があり、モックサーバでリクエストボディを見てレスポンスを動的に変えたい場合があったので、その方法を簡単に書きました。
結論
以下のようにリクエストボディに特定の属性が含まれる場合は、それ用のレスポンス(外で定義したもの)を返すようにすることでフィルタリングやページネーションなどのテストができます。
rest.get(`${baseURL}/contents/pages`, (req, res, ctx) => {
const tag_id = req.url.searchParams.get('user_id')
let successfulResponse
if (user_id === null) {
successfulResponse = getContentsPages200Response()
} else {
successfulResponse = getContentsPagesByUser200Response()
}
// 以下省略
})