534a61179e
These are backend changes. Use Vue for the import feature UI for "githubish" providers (GitHub and Gitea). Add "Go to project" button after a successful import. Use CI-style status icons and improve spacing of the table and its component. Adds ETag polling to the github and gitea import jobs endpoint.
50 lines
1.4 KiB
Ruby
50 lines
1.4 KiB
Ruby
require 'rails_helper'
|
|
|
|
describe ImportHelper do
|
|
describe '#sanitize_project_name' do
|
|
it 'removes leading tildes' do
|
|
expect(helper.sanitize_project_name('~~root')).to eq('root')
|
|
end
|
|
|
|
it 'removes whitespace' do
|
|
expect(helper.sanitize_project_name('my test repo')).to eq('my-test-repo')
|
|
end
|
|
|
|
it 'removes disallowed characters' do
|
|
expect(helper.sanitize_project_name('Test&me$over*h_ere')).to eq('Test-me-over-h_ere')
|
|
end
|
|
end
|
|
|
|
describe '#import_project_target' do
|
|
let(:user) { create(:user) }
|
|
|
|
before do
|
|
allow(helper).to receive(:current_user).and_return(user)
|
|
end
|
|
|
|
context 'when current user can create namespaces' do
|
|
it 'returns project namespace' do
|
|
user.update_attribute(:can_create_group, true)
|
|
|
|
expect(helper.import_project_target('asd', 'vim')).to eq 'asd/vim'
|
|
end
|
|
end
|
|
|
|
context 'when current user can not create namespaces' do
|
|
it "takes the current user's namespace" do
|
|
user.update_attribute(:can_create_group, false)
|
|
|
|
expect(helper.import_project_target('asd', 'vim')).to eq "#{user.namespace_path}/vim"
|
|
end
|
|
end
|
|
end
|
|
|
|
describe '#provider_project_link_url' do
|
|
let(:full_path) { '/repo/path' }
|
|
let(:host_url) { 'http://provider.com/' }
|
|
|
|
it 'appends repo full path to provider host url' do
|
|
expect(helper.provider_project_link_url(host_url, full_path)).to match('http://provider.com/repo/path')
|
|
end
|
|
end
|
|
end
|