ある関数のテストを書いているとき、その関数内で呼び出している別の関数(fetchしている関数)をモックにしている
このときテストするロジックが以下の場合
fetchの取得結果が5件以下の場合は、検索条件を変えてもう一度検索する
検索条件に応じたモックの返却する値を定義したい
モックの実装
調べたらmockImplementationを使うのがよさそう
以下のように設定することで、検索条件criteriaによって返却するオブジェクトを制御することできた
mockFunction.mockImplementation(
(criteria: Criteria) => {
return criteria.isSomeCondition
? Promise.resolve(MockResultForSomeCondition)
: Promise.resolve(MockResult);
},
);