Jest, Angular - функция, не вложенная в тест редуктора - PullRequest
0 голосов
/ 28 октября 2018

Я сейчас делаю тесты для моих редукторов.Но на одном редукторе я вызываю внутренне функцию для разрешения моего состояния.Проблема в том, чтобы проверить, что функция не возвращает ничего, и мне нужно ее смоделировать, чтобы проверить мой редуктор.Я пробую несколько вещей, но безуспешно, у меня нет идей после нескольких часов поиска и пробования разных вариантов.Я использую 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называется.Любая помощь будет оценена.Спасибо.

...