Как создать новое событие для модульного тестирования в Angular 2? - PullRequest
0 голосов
/ 22 мая 2018

Привет. Я пишу тестовый блок для моего углового кода.Я пытаюсь обновить текстовое поле в gridview.Ниже приведен мой код вида сетки.

<input *ngIf="editing[rowIndex + '-scopevalue']" class="inline-editor" autofocus (blur)="updateValue($event, 'scopevalue', value, rowIndex)" type="text" [value]="value" />

Ниже функция выполняет обновление.

 updateValue(event, cell, cellValue, rowIndex) {
        this.editing[rowIndex + '-' + cell] = false;
        this.rows[rowIndex][cell] = event.target.value;
        this.rowsCache[rowIndex][cell] = event.target.value;
        this.scopeEdit = this.rows[rowIndex];
        this.updateScope();
    }

Ниже тестового блока я пишу для проверки вышеуказанного кода.

 it('update scope name value', () => {
        var row = component.rows[0];
        let cell = 'scopevalue';
        let cellValue = row.scopevalue;
        let rowIndex = 0;
        component.updateValue('/bmw', cell, cellValue, rowIndex);
    });

В приведенном выше методе первым параметром считается событие.Может кто-нибудь помочь мне, как создать событие?Любая помощь будет оценена.Спасибо

1 Ответ

0 голосов
/ 22 мая 2018

Вы можете сделать жестко закодированное значение event.target.value и проверить в своей функции updateValue, будет ли rowsCache[rowIndex][cell] иметь это значение.

Вы можете смоделировать событие с помощью простого объекта, например:

const event = { target: { value: 42 }};
component.updateValue(event, cell, cellValue, rowIndex);
...