This repository has been archived on 2023-10-25. You can view files and clone it, but cannot push or open issues or pull requests.
coverage-check-action/lib/coverage_report.rb
Miguel Savignano 6ae146e422
Coverage check (#1)
* adapter for coverage

* report adapter

* generate coverage report

* use inputs
2019-11-02 23:25:41 +01:00

34 lines
900 B
Ruby

# frozen_string_literal: true
class CoverageReport
def self.generate(type, report_path, data)
if type == 'simplecov'
simplecov(report_path, data)
elsif type == 'jest'
jest(report_path, data)
else
raise 'InvalidCoverageReportType'
end
end
def self.simplecov(report_path, data)
report = read_json(report_path)
minumum_percent = data[:min]
covered_percent = report.dig('result', 'covered_percent')
{ 'lines' => { 'covered_percent' => covered_percent, 'minumum_percent' => minumum_percent } }
end
def self.jest(report_path, data)
report = read_json(report_path)
minumum_percent = data[:min]
covered_percent = report.dig('result', 'covered_percent')
{ 'lines' => { 'covered_percent' => covered_percent, 'minumum_percent' => minumum_percent } }
end
private
def read_json(path)
JSON.parse(File.read(path))
end
end