Files
mudita-center/jest/jest.processor.js
patryk-sierzega c85ceed34c [CP-2260] Setup Nx (#1607)
Co-authored-by: Daniel Karski <daniel.karski5q@gmail.com>
Co-authored-by: Oskar Michalkiewicz <32848134+OskarMichalkiewicz@users.noreply.github.com>
Co-authored-by: Łukasz Kowalczyk <freelancer.lukasz.kowalczyk@gmail.com>
Co-authored-by: Michał Kurczewski <michalkurczewski94@gmail.com>
Co-authored-by: mkurczewski <michal@kurczewski.dev>
2023-12-12 14:40:04 +01:00

46 lines
1.2 KiB
JavaScript

const fs = require("fs")
const path = require("path")
/**
* Automatically bumps required coverage threshold when current coverage is bigger by coverageTolerance
* @param {number} [coverageTolerance=2] - Tolerance for auto bump
*/
const coverageAutoBump = (coverageTolerance = 2) => {
const currentCoverage = require(path.resolve(
__dirname,
"./coverage/coverage-summary.json"
))
const requiredCoverage = require(path.resolve(
__dirname,
"./jest.coverage.json"
))
const desiredCoverage = requiredCoverage
for (const key in currentCoverage.total) {
const requiredValue = requiredCoverage.coverageThreshold.global[key]
const currentValue = currentCoverage.total[key].pct
if (currentValue > requiredValue + coverageTolerance) {
const newTolerance = currentValue - coverageTolerance
desiredCoverage.coverageThreshold.global[key] = Math.max(newTolerance, 0)
}
}
fs.writeFile(
path.resolve(__dirname, "./jest.coverage.json"),
JSON.stringify(desiredCoverage, null, 2),
"utf8",
(error) => {
if (error) console.log(error)
}
)
}
module.exports = (results) => {
if (results.hasOwnProperty("coverageMap")) {
coverageAutoBump(3)
}
return results
}