convertResponseJsonToCoveragePercentages()

in src/main/resources/static/coverage.js [322:358]


  convertResponseJsonToCoveragePercentages(responseJson) {
    if (!responseJson.data) {
      throw new Error('Invalid coverage percentages response format. ' +
                      'Expecting "data" property');
    }

    const responseData = responseJson.data;
    if (!responseData.files) {
      throw new Error('Invalid coverage percentages response format. ' +
                      'Expecting "files" property');
    }

    const coveragePercentages = {};
    for (let responseFile of responseData.files) {
      if (!responseFile.path || !responseFile.absolute_coverage) {
        throw new Error('Invalid coverage percentages response format. ' +
                        'Expecting "path" and "absolute_coverage" ' +
                        'properties');
      }

      const fileCov = {
        absolute: Math.round(responseFile.absolute_coverage.covered * 100 /
                             responseFile.absolute_coverage.total),
        incremental: null,
      };

      if (responseFile.incremental_coverage) {
        fileCov.incremental = Math.round(
            responseFile.incremental_coverage.covered * 100 /
              responseFile.incremental_coverage.total);
      }

      coveragePercentages[responseFile.path] = fileCov;
    }

    return coveragePercentages;
  }