/** * Setup environment variables for unit test */ import en from '@logto/phrases/lib/locales/en/index.js'; import { createMockUtils } from '@logto/shared/esm'; import { init } from 'i18next'; const { jest } = import.meta; const { mockEsm, mockEsmDefault } = createMockUtils(jest); process.env.DB_URL = 'postgres://mock.db.url'; process.env.ENDPOINT = 'https://logto.test'; process.env.NODE_ENV = 'test'; /* Mock for EnvSet */ mockEsm('#src/libraries/logto-config.js', () => ({ createLogtoConfigLibrary: () => ({ getOidcConfigs: () => ({}) }), })); mockEsm('#src/env-set/preconditions.js', () => ({ checkPreconditions: () => true, })); // eslint-disable-next-line unicorn/consistent-function-scoping mockEsmDefault('#src/env-set/oidc.js', () => () => ({ issuer: 'https://logto.test/oidc', cookieKeys: [], privateJwks: [], publicJwks: [], })); /* End */ // Logger is not considered in all test cases // eslint-disable-next-line unicorn/consistent-function-scoping mockEsm('koa-logger', () => ({ default: () => (_, next) => next() })); // Init i18next and load en locale only await init({ fallbackLng: 'en', supportedLngs: ['en'], resources: { en }, });