Tengo una clase en mi proyecto que tiene un código como el siguiente.
myRepo.js
class MyRepo{ constructor(){ this.fnType={ "Member":this.getMemberDetails, "Claim":this.getClaimDetails } } getMemberDetails=async({parameters})=>{ //some operation return someData; } getClaimDetails=async({parameters})=>{ //some operation return someData; } }Esta clase se usa en otro archivo de servicio que llama dinámicamente a una de las funciones de la clase myRepo en función de algún parámetro.
servicio.js
const service=(myRepo)=>{ const queryType=getQueryType(); // Will return either 'Member' or 'Claim' let reponse=myrepo.fnType[queryType](someParameters); // how to mock this line? } Usando broma, ¿cómo puedo escribir pruebas para service.js para poder simular el comportamiento de selección de método dinámico y no recibir un error indefinido en la línea de abajo?
let reponse=myrepo.fnType[queryType](someParameters);