Протестировать Angular компонент с инжектированным сервисом
Компонент принимает:
- TransformDateService - преобразует дату в специфический формат
- @Input - заходит глубокий массив обьектов.
Внутри компонента массив перебирается, трансформируется, в нужном месте в цикле вызывается сервис. Мне нужно протестировать шаблон, чтобы обновленные данные правильно вывелись в UI. Как тестировать такой компонент, использовать реальный сервис или мок? Если мок, то не очень понятно, как его вызвать в цикле для каждого значения. Отдельно сервис сам по себе протестирован.
@Injectable({
providedIn: 'root'
})
export class TransformDateService {
transformDate(data) {
// Принимает данные и возвращает дату в специфическом формате.
return date;
}
}
export class Component {
@Input() tableData;
constructor(private transformDateService: TransformDateService) { }
ngOnchanges() {
if (this.tableData) {
//преобразования упрощены
for(const item of this.ngOnchanges) {
item.date= this.transformDateService(item);
}
}
}
}