Я сейчас делаю тесты для моих редукторов.Но на одном редукторе я вызываю внутренне функцию для разрешения моего состояния.Проблема в том, чтобы проверить, что функция не возвращает ничего, и мне нужно ее смоделировать, чтобы проверить мой редуктор.Я пробую несколько вещей, но безуспешно, у меня нет идей после нескольких часов поиска и пробования разных вариантов.Я использую Jest и Angular.
Код редуктора и функции:
case ConfigurationActionTypes.GetResumePage: {
const resumePageData = getResumePageData(state);
return {
... state, resumePage: {
... resumePageData
}
};
}
default:
return state;
} }
export function getResumePageData(state: ConfigureState): ResumeConfigurationModelUI { //Logic of the ResumePage a little bit long to copy to here }
Теперь тестовый код:
it('should generate the resume page with the added sensor', () => {
const sensorList: SensorModelUI[] = mockSensorModelUI.buildList(3);
const actionToAddSensors = new GetSensorsSuccess(sensorList);
const stateWithAddedSensors = reducer(initialState, actionToAddSensors);
const addedSensor: SensorModelUI = mockSensorModelUI.build({Id: 10});
const actionToAddNewSensor = new AddSensorSuccess(addedSensor);
const stateWithNewSensor = reducer(stateWithAddedSensors, actionToAddNewSensor);
const actionToGetResumePage = new GetResumePage({});
const result = reducer(stateWithNewSensor, actionToGetResumePage);
expect(result).toEqual({
... stateWithNewSensor,
resumePage: {
... stateWithNewSensor,
addedSensors: [addedSensor]
}
});
});
});
В основном, когда я создаюпеременная результата, вызывающая функцию редуктора и действие для GetResumePage, он ничего не создает и всегда возвращает один и тот же пустой объект.
Так что я думаю, что мне нужно определить какой-то макет, который возвращает то, что я намереваюсь, когда функция getResumePageDataназывается.Любая помощь будет оценена.Спасибо.