Fix and move specs into admin_disables_git_access_protocol_spec.rb
This commit is contained in:
parent
91b0754d8e
commit
29adade593
2 changed files with 64 additions and 64 deletions
|
@ -1,7 +1,8 @@
|
|||
require 'rails_helper'
|
||||
|
||||
describe 'Admin disables Git access protocol' do
|
||||
describe 'Admin disables Git access protocol', :js do
|
||||
include StubENV
|
||||
include MobileHelpers
|
||||
|
||||
let(:project) { create(:project, :empty_repo) }
|
||||
let(:admin) { create(:admin) }
|
||||
|
@ -20,7 +21,24 @@ describe 'Admin disables Git access protocol' do
|
|||
visit_project
|
||||
|
||||
expect(page).to have_content("git clone #{project.ssh_url_to_repo}")
|
||||
expect(page).not_to have_selector('#clone-dropdown')
|
||||
|
||||
find('.clone-dropdown-btn').click
|
||||
|
||||
within('.git-clone-holder') do
|
||||
expect(page).to have_content('Clone with SSH')
|
||||
expect(page).not_to have_content('Clone with HTTP')
|
||||
end
|
||||
end
|
||||
|
||||
context 'mobile component' do
|
||||
it 'shows only the SSH clone information' do
|
||||
resize_screen_xs
|
||||
visit_project
|
||||
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
|
||||
|
||||
|
@ -31,9 +49,25 @@ describe 'Admin disables Git access protocol' do
|
|||
|
||||
it 'shows only HTTP url' do
|
||||
visit_project
|
||||
find('.clone-dropdown-btn').click
|
||||
|
||||
expect(page).to have_content("git clone #{project.http_url_to_repo}")
|
||||
expect(page).not_to have_selector('#clone-dropdown')
|
||||
|
||||
within('.git-clone-holder') do
|
||||
expect(page).to have_content('Clone with HTTP')
|
||||
expect(page).not_to have_content('Clone with SSH')
|
||||
end
|
||||
end
|
||||
|
||||
context 'mobile component' do
|
||||
it 'shows only the HTTP clone information' do
|
||||
resize_screen_xs
|
||||
visit_project
|
||||
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
|
||||
|
||||
|
@ -46,7 +80,24 @@ describe 'Admin disables Git access protocol' do
|
|||
visit_project
|
||||
|
||||
expect(page).to have_content("git clone #{project.ssh_url_to_repo}")
|
||||
expect(page).to have_selector('#clone-dropdown')
|
||||
|
||||
find('.clone-dropdown-btn').click
|
||||
|
||||
within('.git-clone-holder') do
|
||||
expect(page).to have_content('Clone with SSH')
|
||||
expect(page).to have_content('Clone with HTTP')
|
||||
end
|
||||
end
|
||||
|
||||
context 'mobile component' do
|
||||
it 'shows both SSH and HTTP clone information' do
|
||||
resize_screen_xs
|
||||
visit_project
|
||||
find('.dropdown-toggle').click
|
||||
|
||||
expect(page).to have_content('Copy HTTP clone URL')
|
||||
expect(page).to have_content('Copy SSH clone URL')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -104,73 +104,22 @@ describe 'Project' do
|
|||
let(:path) { project_path(project) }
|
||||
|
||||
before do
|
||||
stub_application_setting(enabled_git_access_protocol: enabled_protocols)
|
||||
sign_in(create(:admin))
|
||||
visit path
|
||||
end
|
||||
|
||||
context 'with all protocols enabled' do
|
||||
let(:enabled_protocols) { nil }
|
||||
|
||||
context 'desktop component' do
|
||||
it 'shows on md and larger breakpoints' do
|
||||
expect(find('.git-clone-holder')).to be_visible
|
||||
expect(find('.mobile-git-clone', visible: false)).not_to be_visible
|
||||
end
|
||||
end
|
||||
|
||||
context 'mobile component' do
|
||||
it 'shows mobile component on sm and smaller breakpoints' do
|
||||
resize_screen_xs
|
||||
expect(find('.mobile-git-clone')).to be_visible
|
||||
expect(find('.git-clone-holder', visible: false)).not_to be_visible
|
||||
end
|
||||
context 'desktop component' do
|
||||
it 'shows on md and larger breakpoints' do
|
||||
expect(find('.git-clone-holder')).to be_visible
|
||||
expect(find('.mobile-git-clone', visible: false)).not_to be_visible
|
||||
end
|
||||
end
|
||||
|
||||
context 'when only HTTP clones are allowed' do
|
||||
let(:enabled_protocols) { 'http' }
|
||||
|
||||
it 'shows only the instructions for HTTP' do
|
||||
find('.clone-dropdown-btn').click
|
||||
|
||||
within('.git-clone-holder') do
|
||||
expect(page).to have_content('Clone with HTTP')
|
||||
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
|
||||
let(:enabled_protocols) { 'ssh' }
|
||||
|
||||
it 'shows only the instructions for SSH' do
|
||||
find('.clone-dropdown-btn').click
|
||||
|
||||
within('.git-clone-holder') do
|
||||
expect(page).to have_content('Clone with SSH')
|
||||
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
|
||||
context 'mobile component' do
|
||||
it 'shows mobile component on sm and smaller breakpoints' do
|
||||
resize_screen_xs
|
||||
expect(find('.mobile-git-clone')).to be_visible
|
||||
expect(find('.git-clone-holder', visible: false)).not_to be_visible
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue