diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2013-09-17 23:57:17 -0700 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2013-09-17 23:57:17 -0700 |
commit | 8672203baf5971acb96cf62562876887fb69623b (patch) | |
tree | acbbd6b3058b38a15ba16abd10ed58642ec87982 | |
parent | 9fabd703230301cd985c51a6888bfd7b8d9cf5a6 (diff) | |
parent | a3ef683108a7af10bb63342db429a47ffc5abea4 (diff) | |
download | gitlab-ce-8672203baf5971acb96cf62562876887fb69623b.tar.gz |
Merge pull request #5112 from hiroponz/drop-support-of-root-namespace
Drop support of root namespace in model
-rw-r--r-- | app/models/project.rb | 7 | ||||
-rw-r--r-- | spec/contexts/issues/bulk_update_context_spec.rb | 5 | ||||
-rw-r--r-- | spec/contexts/projects_create_context_spec.rb | 6 | ||||
-rw-r--r-- | spec/models/project_spec.rb | 1 | ||||
-rw-r--r-- | spec/requests/api/internal_spec.rb | 2 | ||||
-rw-r--r-- | spec/requests/api/issues_spec.rb | 2 | ||||
-rw-r--r-- | spec/requests/api/notes_spec.rb | 2 | ||||
-rw-r--r-- | spec/services/project_transfer_service_spec.rb | 20 |
8 files changed, 19 insertions, 26 deletions
diff --git a/app/models/project.rb b/app/models/project.rb index 6c4f3075e1c..f4d915179e8 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -83,6 +83,7 @@ class Project < ActiveRecord::Base :wiki_enabled, inclusion: { in: [true, false] } validates :issues_tracker_id, length: { within: 0..255 } + validates :namespace, presence: true validates_uniqueness_of :name, scope: :namespace_id validates_uniqueness_of :path, scope: :namespace_id @@ -165,11 +166,7 @@ class Project < ActiveRecord::Base end def to_param - if namespace - namespace.path + "/" + path - else - path - end + namespace.path + "/" + path end def web_url diff --git a/spec/contexts/issues/bulk_update_context_spec.rb b/spec/contexts/issues/bulk_update_context_spec.rb index 0966ee35745..058e43ba090 100644 --- a/spec/contexts/issues/bulk_update_context_spec.rb +++ b/spec/contexts/issues/bulk_update_context_spec.rb @@ -1,6 +1,8 @@ require 'spec_helper' describe Issues::BulkUpdateContext do + before(:each) { ActiveRecord::Base.observers.enable(:user_observer) } + after(:each) { ActiveRecord::Base.observers.disable(:user_observer) } let(:issue) { create(:issue, project: @project) @@ -9,7 +11,8 @@ describe Issues::BulkUpdateContext do before do @user = create :user opts = { - name: "GitLab" + name: "GitLab", + namespace: @user.namespace } @project = Projects::CreateContext.new(@user, opts).execute end diff --git a/spec/contexts/projects_create_context_spec.rb b/spec/contexts/projects_create_context_spec.rb index be492585b27..7b5fa530a8a 100644 --- a/spec/contexts/projects_create_context_spec.rb +++ b/spec/contexts/projects_create_context_spec.rb @@ -1,11 +1,15 @@ require 'spec_helper' describe Projects::CreateContext do + before(:each) { ActiveRecord::Base.observers.enable(:user_observer) } + after(:each) { ActiveRecord::Base.observers.disable(:user_observer) } + describe :create_by_user do before do @user = create :user @opts = { - name: "GitLab" + name: "GitLab", + namespace: @user.namespace } end diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb index 3bac142f4e2..c3d2bf5d4a6 100644 --- a/spec/models/project_spec.rb +++ b/spec/models/project_spec.rb @@ -67,6 +67,7 @@ describe Project do it { should ensure_length_of(:description).is_within(0..2000) } it { should validate_presence_of(:creator) } it { should ensure_length_of(:issues_tracker_id).is_within(0..255) } + it { should validate_presence_of(:namespace) } it "should not allow new projects beyond user limits" do project2 = build(:project) diff --git a/spec/requests/api/internal_spec.rb b/spec/requests/api/internal_spec.rb index 028617aa08e..e8870f4d5d8 100644 --- a/spec/requests/api/internal_spec.rb +++ b/spec/requests/api/internal_spec.rb @@ -2,6 +2,8 @@ require 'spec_helper' describe API::API do include ApiHelpers + before(:each) { ActiveRecord::Base.observers.enable(:user_observer) } + after(:each) { ActiveRecord::Base.observers.disable(:user_observer) } let(:user) { create(:user) } let(:key) { create(:key, user: user) } diff --git a/spec/requests/api/issues_spec.rb b/spec/requests/api/issues_spec.rb index d5f75367e4a..a97d6a282a9 100644 --- a/spec/requests/api/issues_spec.rb +++ b/spec/requests/api/issues_spec.rb @@ -2,6 +2,8 @@ require 'spec_helper' describe API::API do include ApiHelpers + before(:each) { ActiveRecord::Base.observers.enable(:user_observer) } + after(:each) { ActiveRecord::Base.observers.disable(:user_observer) } let(:user) { create(:user) } let!(:project) { create(:project, namespace: user.namespace ) } diff --git a/spec/requests/api/notes_spec.rb b/spec/requests/api/notes_spec.rb index 48a2d111f8c..ba18b123039 100644 --- a/spec/requests/api/notes_spec.rb +++ b/spec/requests/api/notes_spec.rb @@ -2,6 +2,8 @@ require 'spec_helper' describe API::API do include ApiHelpers + before(:each) { ActiveRecord::Base.observers.enable(:user_observer) } + after(:each) { ActiveRecord::Base.observers.disable(:user_observer) } let(:user) { create(:user) } let!(:project) { create(:project, namespace: user.namespace ) } diff --git a/spec/services/project_transfer_service_spec.rb b/spec/services/project_transfer_service_spec.rb index bc26403b7f4..109b429967e 100644 --- a/spec/services/project_transfer_service_spec.rb +++ b/spec/services/project_transfer_service_spec.rb @@ -21,25 +21,7 @@ describe ProjectTransferService do let(:user) { create(:user) } let(:project) { create(:project, namespace: user.namespace) } - before do - @result = service.transfer(project, nil) - end - - - it { @result.should be_true } - it { project.namespace.should == nil } - end - - context 'no namespace -> namespace' do - let(:project) { create(:project) } - let(:user) { create(:user) } - - before do - @result = service.transfer(project, user.namespace) - end - - it { @result.should be_true } - it { project.namespace.should == user.namespace } + it { lambda{service.transfer(project, nil)}.should raise_error(ActiveRecord::RecordInvalid) } end def service |