Реализация тестовых случаев UNIT для генераторов саги redux с использованием библиотеки redux-saga-tester .
Сага содержит два метода
1. Получить все записи, связанные с веб-API (GET)
2. Опубликовать сохранение записи и вернуть подходящее значение.
Первый сценарий, по которому я могу получить записи, вызывается из веб-интерфейса API, а второй создает сообщение с определенными проблемами.
Например: рассмотрим приведенную ниже сагу
export function* uploadWebQuestion(action: Action<any>) {
try {
const responseUploadedData: AxiosResponse<IQuestionColumns> =
yield call(QuestionService.upload, action.payload!);
// Refresh and get valuation questions..
const uploadedData = responseUploadedData.data as IQuestionColumns;
uploadedData.tempModelId = tempId;
return yield put(updateQuestionAction(uploadedData));
} catch (error) {
yield put(endLoading('Question'));
alert(error);
}
}
Сага uploadWebQuestion выполняет вызов веб-интерфейса API https://localhost/sample/question через POST. Опубликованный вопрос JSON данных выглядит следующим образом
{
Id:1,
QuestionName:"Whats up ?"
CategoryId:"24"
}
Приведенные выше данные пытаются сохранить в таблице вопросов, а CategoryId является ссылкой внешнего ключа на таблицу категорий.
Каков действительно рекомендуемый способ сделать запись для записей, связанных с внешним ключом?
Должен ли я инициализировать данные вставки в таблицу категорий, и есть ли в других ссылках FK таблица категорий?