Как проверить источник углового события в родительском компоненте? - PullRequest
2 голосов
/ 26 марта 2019

Я хочу написать модульный тест для проверки генератора событий в родительском компоненте.

HTML-код в родительском компоненте:

  <ng-container *ngIf="canPageBeDisplayed()">
    <wizard-sidebar-item-group *ngFor="let group of sidebarGroups" [sidebarItems]="group"
      [isCurrentPage]="isCurrentPage" (removeItem)="removeItem($event)"></wizard-sidebar-item-group>
  </ng-container>

код компонента в родительском компоненте:

  public removeItem(item: SummaryItem): void {
    if (item.actionState !== 'required') {
      this.wizardService.updateSummaryItem(item);
    }
  }

Как я могу проверить (removeItem)="removeItem($event)"?

1 Ответ

0 голосов
/ 26 марта 2019

Добавьте класс в вашу группу элементов боковой панели мастера, например:

<wizard-sidebar-item-group class="wizard" ... >

Тогда тест может быть что-то вроде:

it('remove item should be triggered', () => {
    fixture = TestBed.createComponent(MyParentComponent);
    component = fixture.componentInstance;
    fixture.detectChanges();

    spyOn(component, 'removeItem');

    const wizardElement = fixture.debugElement.query(By.css('.wizard'));
    wizardElement.triggerEventHandler('removeItem', {});
    fixture.detectChanges();

    expect(component.removeItem).toHaveBeenCalled(); 
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...