module.exports = {
  verbose: true,
  coverageReporters: ["html", "text", "jest-junit", "cobertura"],
  testResultsProcessor: "jest-junit",
  preset: "@vue/cli-plugin-unit-jest",
  transform: { "^.+\\.vue$": "@vue/vue3-jest" },
  moduleFileExtensions: ["js", "vue"],
  modulePathIgnorePatterns: ["vin-lookup"],
  collectCoverageFrom: [
    "src/**/*.{js,vue}",
    "!src/main.js",
    "!src/constants/*.js",
    "!src/router/**/*.js",
    "!src/helpers/unit-test-helper.js",
    "!src/helpers/logger.js",
    "!src/layouts/vehicle-damage/windshield-options/windshield-options.vue",
    "!src/layouts/reveal/**/*.vue",
    "!src/layouts/payment-method/**/*.vue",
    "!src/fmg-components/cart/**/*.vue",
    "!src/fmg-components/add-vaps-modal-buttons/**/*.vue",
    "!src/fmg-components/funnel-footer/**/*.vue", //UI component; nothing to test
    "!src/ux-components/text-link/**/*.vue",
    "!src/layouts/vin-lookup/**/*.vue", //Temporary for Quote page testing
    "!src/common-components/funnel-header/menu-modal/**/*.vue",
    "!src/layouts/schedule/helpers/schedule-helper.js", // Temp test exclusion while in development
    "!src/layouts/review/*.vue", // Temp test exclusion while in development
    "!src/layouts/payment/*.vue", // Temp test exclusion while in development
    "!src/layouts/payment-pia-return/*.vue", // Temp test exclusion while in development
    "!src/layouts/insurance/*.vue", // Temp test exclusion while in development
    "!src/layouts/insurance-company/*.vue", // Temp test exclusion while in development
    "!src/layouts/insurance-company/insurance-company-question/*.vue", // Temp test exclusion while in development
    "!src/experiment-components/*.vue",
    // END
  ], // ! means exclude from coverage.
  testMatch: ["**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx)"],
  coverageThreshold: {
    global: {
      statements: 72,
    },
  },
  // Uncomment this to avoid the massive amount of warnings we are getting for onSubmit and onInvalidSubmit
  //silent: true,
};
