diff options
Diffstat (limited to 'spec/serializers/merge_request_poll_cached_widget_entity_spec.rb')
-rw-r--r-- | spec/serializers/merge_request_poll_cached_widget_entity_spec.rb | 42 |
1 files changed, 39 insertions, 3 deletions
diff --git a/spec/serializers/merge_request_poll_cached_widget_entity_spec.rb b/spec/serializers/merge_request_poll_cached_widget_entity_spec.rb index f883156628a..458d9ecd916 100644 --- a/spec/serializers/merge_request_poll_cached_widget_entity_spec.rb +++ b/spec/serializers/merge_request_poll_cached_widget_entity_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe MergeRequestPollCachedWidgetEntity do +RSpec.describe MergeRequestPollCachedWidgetEntity, feature_category: :code_review_workflow do using RSpec::Parameterized::TableSyntax let_it_be(:project, refind: true) { create :project, :repository } @@ -49,8 +49,9 @@ RSpec.describe MergeRequestPollCachedWidgetEntity do describe 'diverged_commits_count' do context 'when MR open and its diverging' do it 'returns diverged commits count' do - allow(resource).to receive_messages(open?: true, diverged_from_target_branch?: true, - diverged_commits_count: 10) + allow(resource).to receive_messages( + open?: true, diverged_from_target_branch?: true, diverged_commits_count: 10 + ) expect(subject[:diverged_commits_count]).to eq(10) end @@ -330,4 +331,39 @@ RSpec.describe MergeRequestPollCachedWidgetEntity do end end end + + describe 'favicon overlay path' do + context 'when merged' do + before do + resource.mark_as_merged! + resource.metrics.update!(merged_by: user) + end + + it 'returns merged favicon overlay' do + expect(subject[:favicon_overlay_path]).to match_asset_path('/assets/mr_favicons/favicon_status_merged.png') + end + + context 'with pipeline' do + let_it_be(:pipeline) { create(:ci_empty_pipeline, project: project, ref: resource.source_branch, sha: resource.source_branch_sha, head_pipeline_of: resource) } + + it 'returns merged favicon overlay' do + expect(subject[:favicon_overlay_path]).to match_asset_path('/assets/mr_favicons/favicon_status_merged.png') + end + end + end + + context 'when not merged' do + it 'returns no favicon overlay' do + expect(subject[:favicon_overlay_path]).to be_nil + end + + context 'with pipeline' do + let_it_be(:pipeline) { create(:ci_empty_pipeline, project: project, ref: resource.source_branch, sha: resource.source_branch_sha, head_pipeline_of: resource) } + + it 'returns pipeline favicon overlay' do + expect(subject[:favicon_overlay_path]).to match_asset_path('/assets/ci_favicons/favicon_status_pending.png') + end + end + end + end end |