javascript - ¿Cómo pruebo con jest que una lista de Enums en TypeScript tiene todos los valores de cadena?
Tengo una lista de enumeraciones:
export enum Hobbies {
Paint = 'PAINT',
Run = 'RUN',
Bike = 'BIKE',
Dance = 'DANCE'
}
Me gustaría iterar sobre esto en Jest y afirmar que todos los valores de cadena están presentes, tal vez junto con cada clave también. Esto es en caso de que un valor sea nulo/faltante y que eso pueda afectar el comportamiento de la renderización de la interfaz de usuario.
Estaba pensando en importar la lista y afirmar que cada valor no sea nulo. Pero, ¿uso un test.each()? Esta lista en realidad es mucho más larga.
Sé que los enums no deberían necesitar una prueba como esta, pero en este caso es útil.
Respuesta #1
Usa los Coincididores de Propiedades de las pruebas de instantáneas. Siempre que el valor de la enumeración cambie, la prueba fallará si las dos instantáneas no coinciden.
Por ejemplo
index.ts:
export enum Hobbies {
Paint = 'PAINT',
Run = 'RUN',
Bike = 'BIKE',
Dance = 'DANCE',
}
index.test.ts:
import { Hobbies } from './';
describe('67755520', () => {
it('should pass', () => {
expect(Hobbies).toMatchInlineSnapshot(`
Object {
"Bike": "BIKE",
"Dance": "DANCE",
"Paint": "PAINT",
"Run": "RUN",
}
`);
});
});
