Commit 8672203baf5971acb96cf62562876887fb69623b
Exists in
master
and in
4 other branches
Merge pull request #5112 from hiroponz/drop-support-of-root-namespace
Drop support of root namespace in model
Showing
8 changed files
with
19 additions
and
26 deletions
Show diff stats
app/models/project.rb
@@ -83,6 +83,7 @@ class Project < ActiveRecord::Base | @@ -83,6 +83,7 @@ class Project < ActiveRecord::Base | ||
83 | :wiki_enabled, inclusion: { in: [true, false] } | 83 | :wiki_enabled, inclusion: { in: [true, false] } |
84 | validates :issues_tracker_id, length: { within: 0..255 } | 84 | validates :issues_tracker_id, length: { within: 0..255 } |
85 | 85 | ||
86 | + validates :namespace, presence: true | ||
86 | validates_uniqueness_of :name, scope: :namespace_id | 87 | validates_uniqueness_of :name, scope: :namespace_id |
87 | validates_uniqueness_of :path, scope: :namespace_id | 88 | validates_uniqueness_of :path, scope: :namespace_id |
88 | 89 | ||
@@ -165,11 +166,7 @@ class Project < ActiveRecord::Base | @@ -165,11 +166,7 @@ class Project < ActiveRecord::Base | ||
165 | end | 166 | end |
166 | 167 | ||
167 | def to_param | 168 | def to_param |
168 | - if namespace | ||
169 | - namespace.path + "/" + path | ||
170 | - else | ||
171 | - path | ||
172 | - end | 169 | + namespace.path + "/" + path |
173 | end | 170 | end |
174 | 171 | ||
175 | def web_url | 172 | def web_url |
spec/contexts/issues/bulk_update_context_spec.rb
1 | require 'spec_helper' | 1 | require 'spec_helper' |
2 | 2 | ||
3 | describe Issues::BulkUpdateContext do | 3 | describe Issues::BulkUpdateContext do |
4 | + before(:each) { ActiveRecord::Base.observers.enable(:user_observer) } | ||
5 | + after(:each) { ActiveRecord::Base.observers.disable(:user_observer) } | ||
4 | 6 | ||
5 | let(:issue) { | 7 | let(:issue) { |
6 | create(:issue, project: @project) | 8 | create(:issue, project: @project) |
@@ -9,7 +11,8 @@ describe Issues::BulkUpdateContext do | @@ -9,7 +11,8 @@ describe Issues::BulkUpdateContext do | ||
9 | before do | 11 | before do |
10 | @user = create :user | 12 | @user = create :user |
11 | opts = { | 13 | opts = { |
12 | - name: "GitLab" | 14 | + name: "GitLab", |
15 | + namespace: @user.namespace | ||
13 | } | 16 | } |
14 | @project = Projects::CreateContext.new(@user, opts).execute | 17 | @project = Projects::CreateContext.new(@user, opts).execute |
15 | end | 18 | end |
spec/contexts/projects_create_context_spec.rb
1 | require 'spec_helper' | 1 | require 'spec_helper' |
2 | 2 | ||
3 | describe Projects::CreateContext do | 3 | describe Projects::CreateContext do |
4 | + before(:each) { ActiveRecord::Base.observers.enable(:user_observer) } | ||
5 | + after(:each) { ActiveRecord::Base.observers.disable(:user_observer) } | ||
6 | + | ||
4 | describe :create_by_user do | 7 | describe :create_by_user do |
5 | before do | 8 | before do |
6 | @user = create :user | 9 | @user = create :user |
7 | @opts = { | 10 | @opts = { |
8 | - name: "GitLab" | 11 | + name: "GitLab", |
12 | + namespace: @user.namespace | ||
9 | } | 13 | } |
10 | end | 14 | end |
11 | 15 |
spec/models/project_spec.rb
@@ -67,6 +67,7 @@ describe Project do | @@ -67,6 +67,7 @@ describe Project do | ||
67 | it { should ensure_length_of(:description).is_within(0..2000) } | 67 | it { should ensure_length_of(:description).is_within(0..2000) } |
68 | it { should validate_presence_of(:creator) } | 68 | it { should validate_presence_of(:creator) } |
69 | it { should ensure_length_of(:issues_tracker_id).is_within(0..255) } | 69 | it { should ensure_length_of(:issues_tracker_id).is_within(0..255) } |
70 | + it { should validate_presence_of(:namespace) } | ||
70 | 71 | ||
71 | it "should not allow new projects beyond user limits" do | 72 | it "should not allow new projects beyond user limits" do |
72 | project2 = build(:project) | 73 | project2 = build(:project) |
spec/requests/api/internal_spec.rb
@@ -2,6 +2,8 @@ require 'spec_helper' | @@ -2,6 +2,8 @@ require 'spec_helper' | ||
2 | 2 | ||
3 | describe API::API do | 3 | describe API::API do |
4 | include ApiHelpers | 4 | include ApiHelpers |
5 | + before(:each) { ActiveRecord::Base.observers.enable(:user_observer) } | ||
6 | + after(:each) { ActiveRecord::Base.observers.disable(:user_observer) } | ||
5 | 7 | ||
6 | let(:user) { create(:user) } | 8 | let(:user) { create(:user) } |
7 | let(:key) { create(:key, user: user) } | 9 | let(:key) { create(:key, user: user) } |
spec/requests/api/issues_spec.rb
@@ -2,6 +2,8 @@ require 'spec_helper' | @@ -2,6 +2,8 @@ require 'spec_helper' | ||
2 | 2 | ||
3 | describe API::API do | 3 | describe API::API do |
4 | include ApiHelpers | 4 | include ApiHelpers |
5 | + before(:each) { ActiveRecord::Base.observers.enable(:user_observer) } | ||
6 | + after(:each) { ActiveRecord::Base.observers.disable(:user_observer) } | ||
5 | 7 | ||
6 | let(:user) { create(:user) } | 8 | let(:user) { create(:user) } |
7 | let!(:project) { create(:project, namespace: user.namespace ) } | 9 | let!(:project) { create(:project, namespace: user.namespace ) } |
spec/requests/api/notes_spec.rb
@@ -2,6 +2,8 @@ require 'spec_helper' | @@ -2,6 +2,8 @@ require 'spec_helper' | ||
2 | 2 | ||
3 | describe API::API do | 3 | describe API::API do |
4 | include ApiHelpers | 4 | include ApiHelpers |
5 | + before(:each) { ActiveRecord::Base.observers.enable(:user_observer) } | ||
6 | + after(:each) { ActiveRecord::Base.observers.disable(:user_observer) } | ||
5 | 7 | ||
6 | let(:user) { create(:user) } | 8 | let(:user) { create(:user) } |
7 | let!(:project) { create(:project, namespace: user.namespace ) } | 9 | let!(:project) { create(:project, namespace: user.namespace ) } |
spec/services/project_transfer_service_spec.rb
@@ -21,25 +21,7 @@ describe ProjectTransferService do | @@ -21,25 +21,7 @@ describe ProjectTransferService do | ||
21 | let(:user) { create(:user) } | 21 | let(:user) { create(:user) } |
22 | let(:project) { create(:project, namespace: user.namespace) } | 22 | let(:project) { create(:project, namespace: user.namespace) } |
23 | 23 | ||
24 | - before do | ||
25 | - @result = service.transfer(project, nil) | ||
26 | - end | ||
27 | - | ||
28 | - | ||
29 | - it { @result.should be_true } | ||
30 | - it { project.namespace.should == nil } | ||
31 | - end | ||
32 | - | ||
33 | - context 'no namespace -> namespace' do | ||
34 | - let(:project) { create(:project) } | ||
35 | - let(:user) { create(:user) } | ||
36 | - | ||
37 | - before do | ||
38 | - @result = service.transfer(project, user.namespace) | ||
39 | - end | ||
40 | - | ||
41 | - it { @result.should be_true } | ||
42 | - it { project.namespace.should == user.namespace } | 24 | + it { lambda{service.transfer(project, nil)}.should raise_error(ActiveRecord::RecordInvalid) } |
43 | end | 25 | end |
44 | 26 | ||
45 | def service | 27 | def service |