Как я могу написать тест, чтобы убедиться, что определенный [ngClass] был применен условно? Достаточно проверить, что был применен стиль или имя класса.
HTML:
<li (click)="toggleTodo.emit(todo.id)"
[ngClass]="todo.completed ? 'task-complete' : 'task-incomplete'">
{{ todo.text }}
</li>
CSS:
.task-complete {
text-decoration: line-through;
}
.task-incomplete {
text-decoration: none;
}
TEST:
it('should style todo with no text decoration', () => {
component.todo = todo;
fixture.detectChanges();
expect(li.style.textDecoration).toBe('none');
});
it('should style todo with text decoration', () => {
component.todo.completed = true;
fixture.detectChanges();
expect(li.style.textDecoration).toBe('line-through');
});
Ожидается - тесты пройдены.
Фактически - ожидаемо (получено) .toBeTruthy (), Получено: не определено.