Files
openfoodnetwork/spec/lib/tasks/simplecov_spec.rb
Maikel Linke 6d284023fe Configure rake specs in one place
So we don't have to add it to every rake spec file.
2025-09-22 17:27:58 +10:00

40 lines
1.1 KiB
Ruby

# frozen_string_literal: true
require 'spec_helper'
RSpec.describe "simplecov.rake" do
describe "simplecov:collate_results" do
context "when there are reports to merge" do
let(:input_dir) { Rails.root.join("spec/fixtures/simplecov") }
it "creates a new combined report" do
Dir.mktmpdir do |tmp_dir|
output_dir = File.join(tmp_dir, "output")
task_name = "simplecov:collate_results[#{input_dir},#{output_dir}]"
expect {
if ENV["COVERAGE"]
# Start task in a new process to not mess with our coverage report.
`bundle exec rake #{task_name}`
else
# Use the quick standard invocation in dev.
invoke_task(task_name)
end
}.to change { Dir.exist?(output_dir) }.
from(false).
to(true).
and change { File.exist?(File.join(output_dir, "index.html")) }.
from(false).
to(true).
and change { File.exist?(File.join(output_dir, "coverage.json")) }.
from(false).
to(true)
end
end
end
end
end