Soy nuevo en las pruebas de unidades angulares y no sé cómo probar este interruptor:
displayBadge(text: any) { switch (text) { case 'blabla': return 'badge badge-pill badge-success'; case 'lalala': return 'badge badge-pill badge-secondary'; case 'uuuu': return 'badge badge-pill badge-warning'; case 'ooooo': return 'badge badge-pill badge-warning'; case 'eeee': return 'badge badge-pill badge-warning'; case 'zzzzz': return 'badge badge-pill badge-dark'; case 'aaaaa': return 'badge badge-pill badge-dark'; case 'qqqqq': return 'badge badge-pill badge-success'; case 'ccccc': return 'badge badge-pill badge-warning'; case 'rrrrr': return 'badge badge-pill badge-success'; case 'ttttt': return 'badge badge-pill badge-warning'; case 'fffff': return 'badge badge-pill badge-success'; default: return '';Estoy usando el complemento Simontest en VSCODE y la cobertura del código siempre me dice que me falta como el 80 % de la cobertura, que es este interruptor.
He intentado de esta manera en mi archivo spec.ts:
it('text aaaaa', () => { component.text ='aaaaa' component.displayBadge(component.text); expect('badge badge-pill badge-secondary'); });pero no funciona
el texto se define así en mi ts:
@Input() text!: any;He visto que hay otras publicaciones sobre probar un interruptor, he probado todo lo que he visto aquí en la pila y en general en Google, pero SimonTest siempre me dice que esta función no está probada.
Dado que displayBadge() está devolviendo el valor que está probando, algo como esto debería funcionar:
it('text aaaaa', () => { expect(component.displayBadge('aaaaa')).toEqual('badge badge-pill badge-secondary'); });