diff options
Diffstat (limited to 'spec/workers/pages_worker_spec.rb')
-rw-r--r-- | spec/workers/pages_worker_spec.rb | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/spec/workers/pages_worker_spec.rb b/spec/workers/pages_worker_spec.rb index ad714d8d11e..f0d29037fa4 100644 --- a/spec/workers/pages_worker_spec.rb +++ b/spec/workers/pages_worker_spec.rb @@ -3,14 +3,26 @@ require 'spec_helper' RSpec.describe PagesWorker, :sidekiq_inline do - let(:project) { create(:project) } - let(:ci_build) { create(:ci_build, project: project) } + let_it_be(:ci_build) { create(:ci_build) } - it 'calls UpdatePagesService' do - expect_next_instance_of(Projects::UpdatePagesService, project, ci_build) do |service| - expect(service).to receive(:execute) + context 'when called with the deploy action' do + it 'calls UpdatePagesService' do + expect_next_instance_of(Projects::UpdatePagesService, ci_build.project, ci_build) do |service| + expect(service).to receive(:execute) + end + + described_class.perform_async(:deploy, ci_build.id) end + end - described_class.perform_async(:deploy, ci_build.id) + context 'when called with any other action' do + it 'does nothing' do + expect_next_instance_of(described_class) do |job_class| + expect(job_class).not_to receive(:foo) + expect(job_class).not_to receive(:deploy) + end + + described_class.perform_async(:foo) + end end end |