From 91b0754d8ea158813d28a8a146ffea9554567364 Mon Sep 17 00:00:00 2001 From: Stan Hu Date: Sun, 23 Dec 2018 22:17:03 -0800 Subject: [PATCH] Fix HTTP/SSH clone panel for mobile --- .../shared/_mobile_clone_panel.html.haml | 10 ++++++---- spec/features/projects_spec.rb | 20 +++++++++++++++++++ 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/app/views/shared/_mobile_clone_panel.html.haml b/app/views/shared/_mobile_clone_panel.html.haml index b43662947a8..6e2527bd1a1 100644 --- a/app/views/shared/_mobile_clone_panel.html.haml +++ b/app/views/shared/_mobile_clone_panel.html.haml @@ -7,7 +7,9 @@ %button.btn.btn-primary.dropdown-toggle.js-dropdown-toggle{ type: "button", data: { toggle: "dropdown" } } = sprite_icon("arrow-down", css_class: "dropdown-btn-icon icon") %ul.dropdown-menu.dropdown-menu-selectable.dropdown-menu-right.clone-options-dropdown{ data: { dropdown: true } } - %li - = dropdown_item_with_description(ssh_copy_label, project.ssh_url_to_repo, href: project.ssh_url_to_repo, data: { clone_type: 'ssh' }, default: true) - %li - = dropdown_item_with_description(http_copy_label, project.http_url_to_repo, href: project.http_url_to_repo, data: { clone_type: 'http' }) + - if ssh_enabled? + %li + = dropdown_item_with_description(ssh_copy_label, project.ssh_url_to_repo, href: project.ssh_url_to_repo, data: { clone_type: 'ssh' }, default: true) + - if http_enabled? + %li + = dropdown_item_with_description(http_copy_label, project.http_url_to_repo, href: project.http_url_to_repo, data: { clone_type: 'http' }) diff --git a/spec/features/projects_spec.rb b/spec/features/projects_spec.rb index 209cdd2a838..c6ad4f5227b 100644 --- a/spec/features/projects_spec.rb +++ b/spec/features/projects_spec.rb @@ -139,6 +139,16 @@ describe 'Project' do expect(page).not_to have_content('Clone with SSH') end end + + context 'mobile component' do + it 'shows only the instructions for HTTP' do + resize_screen_xs + find('.dropdown-toggle').click + + expect(page).to have_content('Copy HTTP clone URL') + expect(page).not_to have_content('Copy SSH clone URL') + end + end end context 'when only SSH clones are allowed' do @@ -152,6 +162,16 @@ describe 'Project' do expect(page).not_to have_content('Clone with HTTP') end end + + context 'mobile component' do + it 'shows only the instructions for SSH' do + resize_screen_xs + find('.dropdown-toggle').click + + expect(page).to have_content('Copy SSH clone URL') + expect(page).not_to have_content('Copy HTTP clone URL') + end + end end end