Helper para llenar campos
Clase 9 de 17 • Curso de Angular: Unit Testing para Formularios
Contenido del curso
Clase 9 de 17 • Curso de Angular: Unit Testing para Formularios
Contenido del curso
Gerardo Pérez Pérez
Jorge Luis Silva Medina
Jorge Luis Silva Medina
Enrique Carvajal
David Castro
Enrique Carvajal
Ana Velez Ossa
Juan Felipe Vallejo Orozco
Si quieren que se oculten las pruebas que no fueron ejecutadas en su karna.conf.js agreguen:
mochaReporter: { ignoreSkipped: true, },
excelente aporte, lo que necesitaba
Para los que no saben en que parte va, es a este nivel
El video no carga
Lo solucionaste? a mi si me cargó normal.
si, gracias
Código del helper forms.ts
export function setInputValue<T>( fixture: ComponentFixture<T>, selector: string, value:string, withTestId: Boolean = false ) { let debugElement: DebugElement; if (withTestId) { debugElement = queryById(fixture, selector); } else { debugElement = query(fixture, selector); } const inputEl: HTMLInputElement = debugElement.nativeElement; inputEl.value = value; inputEl.dispatchEvent(new Event('input')); inputEl.dispatchEvent(new Event('blur')); //fixture.detectChanges() lo hacemos manual y lo controlamos en la prueba y no es buena practiva autimatizarlo en los helpers //expect tampoco se manejan en los helpers ya que seria de muy mala practica }
Esta podría ser una prueba para el checkbox de los términos y condiciones, (se puede llenar el resto de los campos manual como las pruebas anteriores pero en este caso solo me interesaba hacerlo sobre el checkbox)
it('should the form be invalid because of CheckTerms from UI', () => { component.form.patchValue({ name: 'Bruce', email: 'banner@gamma.com', password: 'asd12345', confirmPassword: 'asd12345', }) let inputElement: HTMLInputElement = query(fixture, 'input#terms').nativeElement; inputElement.checked = false; inputElement.dispatchEvent(new Event('blur')); fixture.detectChanges(); expect(component.checkTermsField?.invalid).withContext('terms is invalid because of unchecked').toBeTruthy(); expect(inputElement.checked).withContext('element checkbox is false').toBeFalse(); expect(component.form.invalid).withContext('form is invalid because of unchecked terms').toBeTrue(); });