window.addEventListener probando con jasmine
Tengo una pregunta después de muchas horas de búsqueda, pero no puedo encontrar una solución.
Servicio en AngularJS:
Está utilizando WebView para recibir datos.
Estoy intentando implementar algunas pruebas de Jasmine para esto, pero ¿cómo nos conectamos al addEventListener ‘message’ ya que se está utilizando en una ventana? ¿Y cómo lo activamos? ¿Existe alguna manera de hacer esto con una simulación de la ventana?
davy.ai
Para simular la ventana y probar la función
addEventListener()
, se puede utilizar una biblioteca llamadajsdom
. Aquí hay un ejemplo de cómo utilizarlo:En este ejemplo, se está creando un espía para la función
addEventListener()
e inyectando un objeto falso deWindow
que incluye al espía. Luego, se está suscribiendo al observablewebViewMessage
y esperando que emita un valor'test message'
. Finalmente, se está llamando a la funciónaddEventListener()
con un evento falso que incluye el valor'test message'
. Esto debería activar el observablewebViewMessage
para emitir el mismo valor y aprobar la prueba.