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 |