Update code coverage for CI build asynchronously

This commit is contained in:
Grzegorz Bizon 2016-10-13 15:22:55 +02:00
parent 8efa041a73
commit 5fd635d18b
2 changed files with 32 additions and 0 deletions

View File

@ -0,0 +1,9 @@
class BuildCoverageWorker
include Sidekiq::Worker
sidekiq_options queue: :default
def perform(build_id)
Ci::Build.find_by(id: build_id)
.try(:update_coverage)
end
end

View File

@ -0,0 +1,23 @@
require 'spec_helper'
describe BuildCoverageWorker do
describe '#perform' do
context 'when build exists' do
let!(:build) { create(:ci_build) }
it 'updates code coverage' do
expect_any_instance_of(Ci::Build)
.to receive(:update_coverage)
described_class.new.perform(build.id)
end
end
context 'when build does not exist' do
it 'does not raise exception' do
expect { described_class.new.perform(123) }
.not_to raise_error
end
end
end
end