Как проверить, кнопка выключена или нет в угловых? - PullRequest
0 голосов
/ 27 мая 2018

Я пытаюсь добавить примеры модульных тестов template driven form.Как проверить submit кнопка отключена на начальном этапе и enable, когда пользователь вводит все действительные field.

Вот форма

https://stackblitz.com/edit/angular-a8q2zr?file=src%2Fapp%2Fapp.component.html

Модульный тестовый кейс

https://stackblitz.com/edit/angular-testing-5m3qwm?file=app%2Fapp.component.spec.ts

import { ComponentFixture, TestBed,async } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import { DebugElement }  from '@angular/core';
import { AppComponent } from './app.component';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';


//
describe('AppComponent', () => {
   let fixture ,component,debugElement; 
  beforeEach(async(() => {
    TestBed.configureTestingModule({
        imports:      [ BrowserModule, FormsModule ],
      declarations: [
        AppComponent
      ],
    }).compileComponents();
  }));

  beforeEach(()=>{
     fixture = TestBed.createComponent(AppComponent);
     component = fixture.componentInstance;
  })

  xdescribe('initial state of form',()=>{

    it('form is invalide button is disable',()=>{
    // fixture.detectChanges();
   //   debugElement = fixture.debugElement;
   //   expect(true).toBe(true)
    })
  })


})

Любое обновление?

1 Ответ

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

Вы можете получить кнопку отправки, используя:

fixture.debugElement.query(By.css('input[type=submit]'))

и чтобы проверить, отключена ли она, вы используете собственный элемент:

describe('initial state of form',()=>{

    it('form is invalide button is disable',()=>{
      let submitEL: DebugElement = fixture.debugElement.query(By.css('input[type=submit]'));
      expect(submitEL.nativeElement.disabled).toBe(true);
    })
  })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...