diff --git a/app/helpers/commits_helper.rb b/app/helpers/commits_helper.rb index ee86553d75d455dd2e7dac45cee5554a68c938ec..78b722be7d758198dc1d7812aca90568af0abc9f 100644 --- a/app/helpers/commits_helper.rb +++ b/app/helpers/commits_helper.rb @@ -111,7 +111,7 @@ def link_to_browse_code(project, commit) tooltip = _("Browse Directory") end - link_to url, class: "btn gl-button btn-default btn-icon has-tooltip", title: tooltip, data: { container: "body" } do + render Pajamas::ButtonComponent.new(href: url, button_options: { title: tooltip, class: 'has-tooltip btn-icon', data: { container: 'body' } }) do sprite_icon('folder-open') end end @@ -188,12 +188,11 @@ def diff_mode_swap_button(mode, file_hash) entity = mode == 'raw' ? 'rawButton' : 'renderedButton' title = "Display #{mode} diff" - link_to( - "##{mode}-diff-#{file_hash}", - class: "btn gl-button btn-default btn-file-option has-tooltip btn-show-#{mode}-diff", - title: title, - data: { file_hash: file_hash, diff_toggle_entity: entity } - ) do + render Pajamas::ButtonComponent.new( + href: "##{mode}-diff-#{file_hash}", + button_options: { title: title, + class: "btn-file-option has-tooltip btn-show-#{mode}-diff", + data: { file_hash: file_hash, diff_toggle_entity: entity } }) do sprite_icon(icon) end end @@ -242,7 +241,7 @@ def view_file_button(commit_sha, diff_new_path, project, replaced: false) path = project_blob_path(project, tree_join(commit_sha, diff_new_path)) title = replaced ? _('View replaced file @ ') : _('View file @ ') - link_to(path, class: 'btn gl-button btn-default gl-ml-3') do + render Pajamas::ButtonComponent.new(href: path, button_options: { class: 'gl-ml-3' }) do raw(title) + content_tag(:span, truncate_sha(commit_sha), class: 'commit-sha') end end @@ -253,7 +252,7 @@ def view_on_environment_button(commit_sha, diff_new_path, environment) external_url = environment.external_url_for(diff_new_path, commit_sha) return unless external_url - link_to(external_url, class: 'btn gl-button btn-default btn-file-option has-tooltip', target: '_blank', rel: 'noopener noreferrer', title: "View on #{environment.formatted_external_url}", data: { container: 'body' }) do + render Pajamas::ButtonComponent.new(href: external_url, target: '_blank', button_options: { rel: 'noopener noreferrer', title: "View on #{environment.formatted_external_url}", data: { container: 'body' } }) do sprite_icon('external-link') end end diff --git a/spec/helpers/commits_helper_spec.rb b/spec/helpers/commits_helper_spec.rb index 2d06f42dee4583c148573f3ff3b5547b65204643..ff4a312f1b5d153506e0ba571e7bd90700cf03f6 100644 --- a/spec/helpers/commits_helper_spec.rb +++ b/spec/helpers/commits_helper_spec.rb @@ -91,22 +91,22 @@ let(:node) { Nokogiri::HTML.parse(helper.diff_mode_swap_button(keyword, 'abc')).at_css('a') } context 'for rendered' do - it 'renders the correct select-rendered button' do + it 'renders the correct select-rendered button', :aggregate_failures do expect(node[:title]).to eq('Display rendered diff') expect(node['data-file-hash']).to eq('abc') expect(node['data-diff-toggle-entity']).to eq('renderedButton') - expect(node.xpath("//a/svg")[0]["data-testid"]).to eq('doc-text-icon') + expect(node.xpath("//a/span/svg")[0]["data-testid"]).to eq('doc-text-icon') end end context 'for raw' do let(:keyword) { 'raw' } - it 'renders the correct select-raw button' do + it 'renders the correct select-raw button', :aggregate_failures do expect(node[:title]).to eq('Display raw diff') expect(node['data-file-hash']).to eq('abc') expect(node['data-diff-toggle-entity']).to eq('rawButton') - expect(node.xpath("//a/svg")[0]["data-testid"]).to eq('doc-code-icon') + expect(node.xpath("//a/span/svg")[0]["data-testid"]).to eq('doc-code-icon') end end end