Поскольку ваш метод поиска имеет оператор if - мы можем написать как минимум два модульных теста.
Это для случая, когда нет поискового тега - мы ожидаем, что resetCompanies
будет вызван, если у нас будет пусто searchCompany
:
it('should resetCompanies if search is empty', () => {
component.searchCompany = '';
spyOn(component, 'resetCompanies').and.callFake(() => null);
component.search();
expect(component.resetCompanies).toHaveBeenCalled();
});
И это для случая, когда у нас есть поисковый тег и поиск работает - мы ожидаем, что массив tempList
в конечном итоге будет состоять из одного элемента { companyName: 'test' }
, поскольку наш поисковый тег test
соответствует условию в логике фильтра:
it('should search company', () => {
component.searchCompany = 'test';
component.tempList = [];
component.tempNameList = [
{ companyName: 'abc' },
{ companyName: 'test' },
{ companyName: 'def' },
];
component.search();
expect(component.tempList).toEqual([{ companyName: 'test' }]);
});