refactor previous test and add validation to project model

This commit is contained in:
James Lopez 2016-01-29 15:35:21 +01:00
parent 7ca6779654
commit eb51a4ac1b
2 changed files with 5 additions and 8 deletions

View File

@ -34,12 +34,12 @@ module Gitlab
def project_path_regex
@project_path_regex ||= /\A[a-zA-Z0-9_.][a-zA-Z0-9_\-\.]*(?<!\.git)\z/.freeze
@project_path_regex ||= /\A[a-zA-Z0-9_.][a-zA-Z0-9_\-\.]*(?<!\.git|\.atom)\z/.freeze
end
def project_path_regex_message
"can contain only letters, digits, '_', '-' and '.'. " \
"Cannot start with '-' or end in '.git'" \
"Cannot start with '-', end in '.git' or end in '.atom'" \
end

View File

@ -88,13 +88,10 @@ describe ProjectsController do
end
context "when the url contains .atom" do
let(:public_project_with_dot) { create(:project, :public, name: 'my.atom', path: 'my.atom') }
let(:public_project_with_dot_atom) { create(:project, :public, name: 'my.atom', path: 'my.atom') }
it 'loads a project' do
get :show, namespace_id: public_project_with_dot.namespace.path, id: public_project_with_dot.path
expect(assigns(:project)).to eq(public_project_with_dot)
expect(response.status).to eq(200)
it 'expect an error creating the project' do
expect { public_project_with_dot_atom }.to raise_error(ActiveRecord::RecordInvalid)
end
end
end