summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-09-17 23:57:17 -0700
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-09-17 23:57:17 -0700
commit8672203baf5971acb96cf62562876887fb69623b (patch)
treeacbbd6b3058b38a15ba16abd10ed58642ec87982
parent9fabd703230301cd985c51a6888bfd7b8d9cf5a6 (diff)
parenta3ef683108a7af10bb63342db429a47ffc5abea4 (diff)
downloadgitlab-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.rb7
-rw-r--r--spec/contexts/issues/bulk_update_context_spec.rb5
-rw-r--r--spec/contexts/projects_create_context_spec.rb6
-rw-r--r--spec/models/project_spec.rb1
-rw-r--r--spec/requests/api/internal_spec.rb2
-rw-r--r--spec/requests/api/issues_spec.rb2
-rw-r--r--spec/requests/api/notes_spec.rb2
-rw-r--r--spec/services/project_transfer_service_spec.rb20
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