Модульное тестирование для метода генератора redux-saga, вызываемого с использованием POST, содержащего ссылки на внешние ключи - PullRequest
0 голосов
/ 29 мая 2019

Реализация тестовых случаев 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 таблица категорий?

...