У меня кнопка поиска в отключенном состоянии по умолчанию, пока не будут выбраны пользователь и функция или функция и клиент, кнопка не будет включена. Поэтому, когда я писал тестовые случаи, я пытался выбрать cutomer и функцию, и попытался проверить кнопку включена. Но этот тестовый пример не говорит о ложном, тогда как когда я даю not.disabled, он становится истинным. так же, как я хочу проверить отключенное состояние при загрузке, оно проходит, а затем, когда я запускаю not.disabled, происходит сбой. Довольно странное поведение.
html:
<div class="buttons">
<button mat-button name="search" class="search" [ngClass]="{'disable-search-btn' : !isSearchEnabled}">search</button>
</div>
spec.ts
it('should check customer dropdown values are present and search button is enabled', () => {
component.openFunctionBasedField(component.functionOptions[1]);
component.onSelectCustomer(component.customerOptions[0]);
expect(component.isCustomerFunctionSelected).toBeTruthy();
expect(component.customerOptions.length).toBeGreaterThan(0);
const searchButton = fixture.debugElement.query(By.css('.search')).nativeElement.disabled;
});
ts:
toggleSearchButton() {
if ((this.selectedFunctionItem && (this.selectedUser && this.selectedUser.length > 0)) || this.selectedCustomerItem) {
this.isSearchEnabled = true;
} else {
this.isSearch = false;
this.isSearchEnabled = false;
}
}