Недавно я написал примитивную трубу, используемую для поиска элементов:
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'search'
})
export class SearchPipe implements PipeTransform {
transform(value: any, args?: any): any {
if (!value) {return null; }
if (!args) {return value; }
args = args.toLowerCase();
return value.filter((item) => {
return JSON.stringify(item).toLowerCase().includes(args);
});
}
}
Мой тестовый файл конвейера является файлом по умолчанию:
import { SearchPipe } from './search.pipe';
describe('SearchPipe', () => {
it('create an instance', () => {
const pipe = new SearchPipe();
expect(pipe).toBeTruthy();
});
});
Когда я запускаю тест внутри другого компонента , который использует поисковую трубу, я получаю следующую ошибку:
Failed: Template parse errors:
The pipe 'search' could not be found ("target.value)">
<!-- maybe add | async pipe -->
<option class="fetchedUser" *ngFor="let [ERROR ->]user of users | search: query" value="{{user.firstname}}">
{{user?.lastname}}, {{user?.first"): ng:///DynamicTestModule/UsersComponent.html@13:44
Любая подсказка, почему это происходит? Как исправить эту ошибку?