0
Я тестирую следующую сагу функциюнаписание тестов для Redux-саги
export function* fetchMessages(channel) {
yield put(requestMessages())
const channel_name = channel.payload
try {
const response = yield call(fetch,'/api/messages/'+channel_name)
if(response.ok){
const res = yield response.json();
const date = moment().format('lll');
yield put(receiveMessages(res,channel.payload,date))
}
} catch (error){
yield put(rejectMessages(error))
}
}
Это мои тесты на 3-й и 4-й выхода:
const gen = onFetchMessages(fetchMessages(channel))
////where export const fetchMessages = createAction(LOAD_MESSAGES);
const channel = "channel 9"
const response = []
assert.deepEqual(
gen.next(response).value,
response.json,
'should convert response to json'
)
const date = Date.now();
assert.deepEqual(
gen.next(response,channel,date).value,
put(receiveMessages(response,channel,date)),
'should dispatch LOAD_MESSAGES_SUCCESS with payloads of response, channel and date'
)
Действительный возвращается неопределенным, то есть ген. next (response, channel, date) .value возвращает undefined. Не могли бы вы сообщить мне правильный способ проверить их? Спасибо