Implementé el almacenamiento local asíncrono en nest.js a partir de ganchos asíncronos, pero cuando llego a mis pruebas de mocha, necesito enviar una instancia como un simulacro y no sé cuál es la mejor manera de hacerlo.
Probé dos cosas: Primero, llamar desde mi función beforeEach en las pruebas para llamar a mi getCtx() que llama a la tienda global y se ve así:
export function getCtx() { const requestContext = getGlobalStore(); return requestContext.ctx; }En segundo lugar, para cambiar la función para obtener un parámetro y enviar mi contexto dentro de esta manera:
export function getGlobalStore( store: AsyncLocalStorage<ICtx> = globalStore, ): ICtx { const context = store.getStore(); return context!; }y luego en la prueba:
const store = new AsyncLocalStorage<CtxMock>(); const context = getGlobalStore(store);En ambos sentidos, aparece el error: "Error de tipo: no se pueden leer las propiedades de undefined (leyendo 'ctx')"