/** @type {import('jest').Config} */
const config = {
  testURL: 'http://localhost/',
  moduleFileExtensions: ['js', 'jsx', 'ts', 'tsx', 'json', 'styl'],
  setupFilesAfterEnv: ['<rootDir>/tests/jestLib/setupTests.ts'],
  moduleDirectories: ['<rootDir>', 'node_modules'],
  modulePaths: ['<rootDir>/src'],
  moduleNameMapper: {
    '\\.(png|gif|jpe?g|svg|hbs)$': '<rootDir>/tests/__mocks__/fileMock.js',
    // identity-obj-proxy module is installed by cozy-scripts
    '\\.(css|styl|sass|scss)$': 'identity-obj-proxy',
  },
  transformIgnorePatterns: [
    'node_modules/(?!(cozy-ui|cozy-harvest-lib|cozy-client))',
  ],
  transform: {
    // babel-jest module is installed by cozy-scripts
    '^.+\\.(js|jsx|ts|tsx)?$': 'babel-jest',
  },
  globals: {
    __ALLOW_HTTP__: false,
    __TARGET__: 'browser',
    __PIWIK_TRACKER_URL__: 'http://localhost:9800/',
    __SAU_LINK__:
      'https://forge.grandlyon.com/web-et-numerique/llle_project/ecolyo/-/issues',
    __SAU_IDEA_DIRECT_LINK__:
      'https://forge.grandlyon.com/web-et-numerique/llle_project/ecolyo/-/issues',
    cozy: {},
  },
}

module.exports = config