Commit a3ef683108a7af10bb63342db429a47ffc5abea4
1 parent
2d31a9f3
Exists in
master
and in
4 other branches
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 | 83 | :wiki_enabled, inclusion: { in: [true, false] } |
84 | 84 | validates :issues_tracker_id, length: { within: 0..255 } |
85 | 85 | |
86 | + validates :namespace, presence: true | |
86 | 87 | validates_uniqueness_of :name, scope: :namespace_id |
87 | 88 | validates_uniqueness_of :path, scope: :namespace_id |
88 | 89 | |
... | ... | @@ -165,11 +166,7 @@ class Project < ActiveRecord::Base |
165 | 166 | end |
166 | 167 | |
167 | 168 | def to_param |
168 | - if namespace | |
169 | - namespace.path + "/" + path | |
170 | - else | |
171 | - path | |
172 | - end | |
169 | + namespace.path + "/" + path | |
173 | 170 | end |
174 | 171 | |
175 | 172 | def web_url | ... | ... |
spec/contexts/issues/bulk_update_context_spec.rb
1 | 1 | require 'spec_helper' |
2 | 2 | |
3 | 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 | 7 | let(:issue) { |
6 | 8 | create(:issue, project: @project) |
... | ... | @@ -9,7 +11,8 @@ describe Issues::BulkUpdateContext do |
9 | 11 | before do |
10 | 12 | @user = create :user |
11 | 13 | opts = { |
12 | - name: "GitLab" | |
14 | + name: "GitLab", | |
15 | + namespace: @user.namespace | |
13 | 16 | } |
14 | 17 | @project = Projects::CreateContext.new(@user, opts).execute |
15 | 18 | end | ... | ... |
spec/contexts/projects_create_context_spec.rb
1 | 1 | require 'spec_helper' |
2 | 2 | |
3 | 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 | 7 | describe :create_by_user do |
5 | 8 | before do |
6 | 9 | @user = create :user |
7 | 10 | @opts = { |
8 | - name: "GitLab" | |
11 | + name: "GitLab", | |
12 | + namespace: @user.namespace | |
9 | 13 | } |
10 | 14 | end |
11 | 15 | ... | ... |
spec/models/project_spec.rb
... | ... | @@ -67,6 +67,7 @@ describe Project do |
67 | 67 | it { should ensure_length_of(:description).is_within(0..2000) } |
68 | 68 | it { should validate_presence_of(:creator) } |
69 | 69 | it { should ensure_length_of(:issues_tracker_id).is_within(0..255) } |
70 | + it { should validate_presence_of(:namespace) } | |
70 | 71 | |
71 | 72 | it "should not allow new projects beyond user limits" do |
72 | 73 | project2 = build(:project) | ... | ... |
spec/requests/api/internal_spec.rb
... | ... | @@ -2,6 +2,8 @@ require 'spec_helper' |
2 | 2 | |
3 | 3 | describe API::API do |
4 | 4 | include ApiHelpers |
5 | + before(:each) { ActiveRecord::Base.observers.enable(:user_observer) } | |
6 | + after(:each) { ActiveRecord::Base.observers.disable(:user_observer) } | |
5 | 7 | |
6 | 8 | let(:user) { create(:user) } |
7 | 9 | let(:key) { create(:key, user: user) } | ... | ... |
spec/requests/api/issues_spec.rb
... | ... | @@ -2,6 +2,8 @@ require 'spec_helper' |
2 | 2 | |
3 | 3 | describe API::API do |
4 | 4 | include ApiHelpers |
5 | + before(:each) { ActiveRecord::Base.observers.enable(:user_observer) } | |
6 | + after(:each) { ActiveRecord::Base.observers.disable(:user_observer) } | |
5 | 7 | |
6 | 8 | let(:user) { create(:user) } |
7 | 9 | let!(:project) { create(:project, namespace: user.namespace ) } | ... | ... |
spec/requests/api/notes_spec.rb
... | ... | @@ -2,6 +2,8 @@ require 'spec_helper' |
2 | 2 | |
3 | 3 | describe API::API do |
4 | 4 | include ApiHelpers |
5 | + before(:each) { ActiveRecord::Base.observers.enable(:user_observer) } | |
6 | + after(:each) { ActiveRecord::Base.observers.disable(:user_observer) } | |
5 | 7 | |
6 | 8 | let(:user) { create(:user) } |
7 | 9 | let!(:project) { create(:project, namespace: user.namespace ) } | ... | ... |
spec/services/project_transfer_service_spec.rb
... | ... | @@ -21,25 +21,7 @@ describe ProjectTransferService do |
21 | 21 | let(:user) { create(:user) } |
22 | 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 | 25 | end |
44 | 26 | |
45 | 27 | def service | ... | ... |