Карма жасмин, проверить, было ли новое значение, которое обновляется функцией - PullRequest
0 голосов
/ 19 сентября 2018

В моем угловом приложении я использую переменную modifiedPrice для отображения обновленной суммы в html.

html

<div id="actualPrice">
    <div> ACTUAL </div>
    <div> {{ modifiedPrice }} </div>
</div>

component.ts

@Input('actualPrice')
set setActualPrice(actualPrice) {
    this.actualPrice = actualPrice;
    this.modifyActualAmount();
}

actualPrice: number;
modifiedPrice: number;

modifyActualAmount() {
    this.modifiedPrice = 0;
    if (this.actualPrice > 0 ) {
        this.modifiedPrice = this.actualPrice;
    }
}

component.spec.ts

it('should display Actual Price', async() => {
    spyOn(fixture.componentInstance, 'modifyActualAmount');
    fixture.componentInstance.setActualPrice = 4500;
    fixture.detectChanges();
    const divActualPrice = fixture.debugElement.query(By.css('#actualPrice'));
    expect(fixture.componentInstance.modifyActualAmount).toHaveBeenCalled(); // <---- (1)
    fixture.whenStable()
    .then( () => {
            expect(divActualPrice.nativeElement.textContent).toContain('4500');  // <----(2)
        }
    );
});

при запуске теста (1) пройдено, так что вызывается функция сцен modifyActualAmount().Но, похоже, это не выполняется.если эта функция вызвана, то модифицированную цену нужно обновить.Как я могу исправить эту проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...