Я получаю следующую ошибку при вызове fixture.detectChanges()
после изменения некоторых логических значений (используется в ngIf):
ERROR: 'Unhandled Promise rejection:', 'undefined is not a constructor
(evaluating 'element.matches(selector)')', '; Zone:', 'ProxyZone', '; Task:', 'Promise.then', '; Value:',
TypeError: undefined is not a constructor (evaluating 'element.matches(selector)')
http://localhost:9876/_karma_webpack_/vendor.js:1394:73
Шаблон html выглядит следующим образом:
<form appFocusInvalidInput [formGroup]="form" (ngSubmit)="onSubmit()" >
<div class="form-group">
<div class="form-label" [translate]="'key1'"></div>
<div class="input-line">
<div class="help-text-container">
<app-help-text-tooltip
(close)="onCloseFn()"
*ngIf="showTooltip" placement="right-top">
<div class="b">{{'key2' | translate}}</div>
<div class="c">
<div class="d">
<figure>
<img width="185px" [src]="imagePath" />
</figure>
</div>
<div class="e">
<div class="f">{{'key3' | translate}}</div>
</div>
</div>
</app-help-text-tooltip>
</div>
</div>
</div>
...
</form>
В тестах:
beforeEach(() => {
mockGH.FEATURE_FLAG_1 = true;
fixture.detectChanges();
component.showTooltip = false;
component.showTooltip2 = true;
fixture.detectChanges();
});