export function * addNewCity({city}) {
try {
const weatherData = yield call(getWeather, city);
const isDuplicateLocation = yield select(isDuplicateCity, city);
if(!isDuplicateLocation) {
yield put(fetchCityData((weatherData && weatherData.data) || {}));
} else {
yield put(errors(['Duplicate Location']));
yield delay(DISPLAY_ERROR_TIME);
yield put(clearErrors());
}
} catch(err) {
yield put(errors(['Invalid Location']));
yield delay(DISPLAY_ERROR_TIME);
yield put(clearErrors());
}
};
我试图在测试中达到其他条件,不确定执行此操作的最佳方法是什么。模拟选择器isDuplicateCity
似乎无效。
总而言之,如何使isDuplicateCity
在测试时返回true。
链接到file。