'undefined не является конструктором (оценивающим' element.matches (selector) ')' при вызове detectChanges (angular 8) - PullRequest
0 голосов
/ 27 января 2020

Я получаю следующую ошибку при вызове 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();
    });
...