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 | ... | ... |