Получите доступ к ngModel из Jasmine в модульном тестировании приложений Ionic 3 - PullRequest
0 голосов
/ 27 ноября 2018

У меня есть мобильное приложение Ionic 3 с модульными тестами, написанными с использованием Jasmine & Karma.

Я ищу подход для ввода значений в список ионов и проверки действия щелчка в списке.

Ниже приведен HTML

<ion-select placeholder="Portal" [selectOptions]="selectOptions" interface="popover" [(ngModel)]="selectedPortal" (ionChange)="confirmTentant()"
   class="list-portal-select select-option-items company-portal-select-position ">
   <ion-option *ngFor="let portal of portallist" [value]="portal">{{portal.name}}</ion-option>
</ion-select>

. Ниже приведен тестовый набор для ion-select, который проверяет, существует ли этот элемент и действует ли он.

it('should have list', () => {
    fixture.detectChanges();
    let ionList = fixture.debugElement.nativeElement.querySelector('.list-portal-select');
    fixture.detectChanges();
    expect(ionList).toBeDefined();
  });

Приведенный выше тестовый примерполучение пропуска, следовательно, список контейнеров действителен.Мне также нужно ввести значения в ion-list, открыть список и выбрать элемент списка.При выборе нужно посмотреть на функцию триггера.

В машинописном тексте я связываю значения с ионным списком, предоставляя значения для назначенной модели.

this.portallist = [{name: "POtral 1", baseUrl: "https://portal1/home"}, {name: "POtral 2", baseUrl: "https://portal2/home"}]; 

Любые доступные способы сделать это из Jasmine (.spec.ts) для назначениязначения в список ионов и мониторинг "ion-change" событие?

...