diff options
Diffstat (limited to 'spec/serializers/merge_request_widget_entity_spec.rb')
-rw-r--r-- | spec/serializers/merge_request_widget_entity_spec.rb | 43 |
1 files changed, 42 insertions, 1 deletions
diff --git a/spec/serializers/merge_request_widget_entity_spec.rb b/spec/serializers/merge_request_widget_entity_spec.rb index 926b33e8e1f..35846b0d4ea 100644 --- a/spec/serializers/merge_request_widget_entity_spec.rb +++ b/spec/serializers/merge_request_widget_entity_spec.rb @@ -58,7 +58,7 @@ RSpec.describe MergeRequestWidgetEntity do data = described_class.new(resource, request: request, issues_links: true).as_json expect(data).to include(:issues_links) - expect(data[:issues_links]).to include(:assign_to_closing, :closing, :mentioned_but_not_closing) + expect(data[:issues_links]).to include(:assign_to_closing, :closing, :mentioned_but_not_closing, :closing_count, :mentioned_count) end it 'omits issue links by default' do @@ -354,4 +354,45 @@ RSpec.describe MergeRequestWidgetEntity do end end end + + describe 'when gitpod is disabled' do + before do + allow(Gitlab::CurrentSettings).to receive(:gitpod_enabled).and_return(false) + end + + it 'exposes gitpod attributes' do + expect(subject).to include( + show_gitpod_button: false, + gitpod_url: nil, + gitpod_enabled: false + ) + end + end + + describe 'when gitpod is enabled' do + before do + allow(Gitlab::CurrentSettings).to receive(:gitpod_enabled).and_return(true) + allow(Gitlab::CurrentSettings).to receive(:gitpod_url).and_return("https://gitpod.example.com") + end + + it 'exposes gitpod attributes' do + mr_url = Gitlab::Routing.url_helpers.project_merge_request_url(resource.project, resource) + + expect(subject).to include( + show_gitpod_button: true, + gitpod_url: "https://gitpod.example.com##{mr_url}", + gitpod_enabled: false + ) + end + + describe 'when gitpod is enabled for user' do + before do + allow(user).to receive(:gitpod_enabled).and_return(true) + end + + it 'exposes gitpod_enabled as true' do + expect(subject[:gitpod_enabled]).to be(true) + end + end + end end |