Update code coverage for CI build asynchronously
This commit is contained in:
parent
8efa041a73
commit
5fd635d18b
2 changed files with 32 additions and 0 deletions
9
app/workers/build_coverage_worker.rb
Normal file
9
app/workers/build_coverage_worker.rb
Normal 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
|
23
spec/workers/build_coverage_worker_spec.rb
Normal file
23
spec/workers/build_coverage_worker_spec.rb
Normal 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
|
Loading…
Reference in a new issue