Мне нужно протестировать метод в Angular с помощью Jasmine / Karma, но я всегда получаю сообщение об ошибке:
Ошибка типа: undefined не повторяется (не может прочитать свойство Symbol (Symbol.iterator ))
Я построил метод следующим образом:
myMethod(locs: MyCustomType1[], clocs: MyCustomType2[]) {
clocs = clocs
.filter(cl => cl !== null && cl.l_ids !== null);
locs = locs
.filter(l => l !== null && l.id !== null);
clocs.forEach(
cl => {
cl['l_names'] = [];
locs.forEach(
l => {
if (cl.l_ids.includes(l.id)) {
clocs['l_names'].push(l.name);
}
}
);
}
);
}
Мой тест в настоящее время выглядит следующим образом:
describe('#MyMethod', () => {
beforeEach(() => {
component.clocs = mockClocs;
component.locs = mockLocs;
component.myMethod(mockLocs, mockClocs);
});
describe('#myMethod)', () => {
it('The clocs and locs array should by defined', () => {
expect(component.clocs).toBeDefined();
expect(component.locs).toBeDefined();
});
it('The clocs array should include "Location2" and "Location3" with the locationIds 2, 3', () => {
expect(component.clocs[1]['l_names'].includes('Location2')).toBeTruthy();
expect(component.clocs[1]['l_names'].includes('Location3')).toBeTruthy();
});
});
});
Указанное сообщение об ошибке выдается для каждый ожидание () метод в моем заявлении it (). Если я регистрирую массив, я вижу, что он определен с необходимыми значениями, но метод wait () возвращает undefined. Хм
Что я делаю не так?