summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
Diffstat (limited to 'spec')
-rw-r--r--spec/controllers/blob_controller_spec.rb8
-rw-r--r--spec/controllers/branches_controller_spec.rb1
-rw-r--r--spec/controllers/commit_controller_spec.rb24
-rw-r--r--spec/controllers/commits_controller_spec.rb3
-rw-r--r--spec/controllers/merge_requests_controller_spec.rb21
-rw-r--r--spec/controllers/projects/uploads_controller_spec.rb16
-rw-r--r--spec/controllers/projects_controller_spec.rb22
-rw-r--r--spec/controllers/tree_controller_spec.rb8
-rw-r--r--spec/features/admin/admin_projects_spec.rb6
-rw-r--r--spec/features/admin/security_spec.rb2
-rw-r--r--spec/features/atom/issues_spec.rb6
-rw-r--r--spec/features/gitlab_flavored_markdown_spec.rb24
-rw-r--r--spec/features/issues_spec.rb42
-rw-r--r--spec/features/notes_on_merge_requests_spec.rb4
-rw-r--r--spec/features/projects_spec.rb2
-rw-r--r--spec/features/security/project/internal_access_spec.rb34
-rw-r--r--spec/features/security/project/private_access_spec.rb30
-rw-r--r--spec/features/security/project/public_access_spec.rb34
-rw-r--r--spec/helpers/application_helper_spec.rb6
-rw-r--r--spec/helpers/gitlab_markdown_helper_spec.rb28
-rw-r--r--spec/helpers/issues_helper_spec.rb6
-rw-r--r--spec/helpers/submodule_helper_spec.rb10
-rw-r--r--spec/lib/gitlab/url_builder_spec.rb2
-rw-r--r--spec/mailers/notify_spec.rb22
-rw-r--r--spec/models/project_services/gitlab_issue_tracker_service_spec.rb60
-rw-r--r--spec/models/project_spec.rb2
-rw-r--r--spec/requests/api/files_spec.rb28
-rw-r--r--spec/routing/admin_routing_spec.rb2
-rw-r--r--spec/routing/project_routing_spec.rb172
-rw-r--r--spec/services/git_push_service_spec.rb12
-rw-r--r--spec/services/projects/transfer_service_spec.rb6
31 files changed, 386 insertions, 257 deletions
diff --git a/spec/controllers/blob_controller_spec.rb b/spec/controllers/blob_controller_spec.rb
index ea52e4d212a..a1102f28340 100644
--- a/spec/controllers/blob_controller_spec.rb
+++ b/spec/controllers/blob_controller_spec.rb
@@ -17,7 +17,10 @@ describe Projects::BlobController do
describe "GET show" do
render_views
- before { get :show, project_id: project.to_param, id: id }
+ before do
+ get(:show, namespace_id: project.namespace.to_param,
+ project_id: project.to_param, id: id)
+ end
context "valid branch, valid file" do
let(:id) { 'master/README.md' }
@@ -39,7 +42,8 @@ describe Projects::BlobController do
render_views
before do
- get :show, project_id: project.to_param, id: id
+ get(:show, namespace_id: project.namespace.to_param,
+ project_id: project.to_param, id: id)
controller.instance_variable_set(:@blob, nil)
end
diff --git a/spec/controllers/branches_controller_spec.rb b/spec/controllers/branches_controller_spec.rb
index 0c39d016440..51397382cfb 100644
--- a/spec/controllers/branches_controller_spec.rb
+++ b/spec/controllers/branches_controller_spec.rb
@@ -19,6 +19,7 @@ describe Projects::BranchesController do
before {
post :create,
+ namespace_id: project.namespace.to_param,
project_id: project.to_param,
branch_name: branch,
ref: ref
diff --git a/spec/controllers/commit_controller_spec.rb b/spec/controllers/commit_controller_spec.rb
index f0e39e674fd..3394a1f863f 100644
--- a/spec/controllers/commit_controller_spec.rb
+++ b/spec/controllers/commit_controller_spec.rb
@@ -13,7 +13,8 @@ describe Projects::CommitController do
describe "#show" do
shared_examples "export as" do |format|
it "should generally work" do
- get :show, project_id: project.to_param, id: commit.id, format: format
+ get(:show, namespace_id: project.namespace.to_param,
+ project_id: project.to_param, id: commit.id, format: format)
expect(response).to be_success
end
@@ -21,11 +22,13 @@ describe Projects::CommitController do
it "should generate it" do
expect_any_instance_of(Commit).to receive(:"to_#{format}")
- get :show, project_id: project.to_param, id: commit.id, format: format
+ get(:show, namespace_id: project.namespace.to_param,
+ project_id: project.to_param, id: commit.id, format: format)
end
it "should render it" do
- get :show, project_id: project.to_param, id: commit.id, format: format
+ get(:show, namespace_id: project.namespace.to_param,
+ project_id: project.to_param, id: commit.id, format: format)
expect(response.body).to eq(commit.send(:"to_#{format}"))
end
@@ -34,7 +37,8 @@ describe Projects::CommitController do
allow_any_instance_of(Commit).to receive(:"to_#{format}").
and_return('HTML entities &<>" ')
- get :show, project_id: project.to_param, id: commit.id, format: format
+ get(:show, namespace_id: project.namespace.to_param,
+ project_id: project.to_param, id: commit.id, format: format)
expect(response.body).to_not include('&amp;')
expect(response.body).to_not include('&gt;')
@@ -48,7 +52,8 @@ describe Projects::CommitController do
let(:format) { :diff }
it "should really only be a git diff" do
- get :show, project_id: project.to_param, id: commit.id, format: format
+ get(:show, namespace_id: project.namespace.to_param,
+ project_id: project.to_param, id: commit.id, format: format)
expect(response.body).to start_with("diff --git")
end
@@ -59,13 +64,15 @@ describe Projects::CommitController do
let(:format) { :patch }
it "should really be a git email patch" do
- get :show, project_id: project.to_param, id: commit.id, format: format
+ get(:show, namespace_id: project.namespace.to_param,
+ project_id: project.to_param, id: commit.id, format: format)
expect(response.body).to start_with("From #{commit.id}")
end
it "should contain a git diff" do
- get :show, project_id: project.to_param, id: commit.id, format: format
+ get(:show, namespace_id: project.namespace.to_param,
+ project_id: project.to_param, id: commit.id, format: format)
expect(response.body).to match(/^diff --git/)
end
@@ -74,7 +81,8 @@ describe Projects::CommitController do
describe "#branches" do
it "contains branch and tags information" do
- get :branches, project_id: project.to_param, id: commit.id
+ get(:branches, namespace_id: project.namespace.to_param,
+ project_id: project.to_param, id: commit.id)
expect(assigns(:branches)).to include("master", "feature_conflict")
expect(assigns(:tags)).to include("v1.1.0")
diff --git a/spec/controllers/commits_controller_spec.rb b/spec/controllers/commits_controller_spec.rb
index c3de01a84f2..2184b35152e 100644
--- a/spec/controllers/commits_controller_spec.rb
+++ b/spec/controllers/commits_controller_spec.rb
@@ -12,7 +12,8 @@ describe Projects::CommitsController do
describe "GET show" do
context "as atom feed" do
it "should render as atom" do
- get :show, project_id: project.to_param, id: "master", format: "atom"
+ get(:show, namespace_id: project.namespace.to_param,
+ project_id: project.to_param, id: "master", format: "atom")
expect(response).to be_success
expect(response.content_type).to eq('application/atom+xml')
end
diff --git a/spec/controllers/merge_requests_controller_spec.rb b/spec/controllers/merge_requests_controller_spec.rb
index eedaf17941a..d6f56ed33d6 100644
--- a/spec/controllers/merge_requests_controller_spec.rb
+++ b/spec/controllers/merge_requests_controller_spec.rb
@@ -13,7 +13,8 @@ describe Projects::MergeRequestsController do
describe "#show" do
shared_examples "export merge as" do |format|
it "should generally work" do
- get :show, project_id: project.to_param, id: merge_request.iid, format: format
+ get(:show, namespace_id: project.namespace.to_param,
+ project_id: project.to_param, id: merge_request.iid, format: format)
expect(response).to be_success
end
@@ -21,11 +22,13 @@ describe Projects::MergeRequestsController do
it "should generate it" do
expect_any_instance_of(MergeRequest).to receive(:"to_#{format}")
- get :show, project_id: project.to_param, id: merge_request.iid, format: format
+ get(:show, namespace_id: project.namespace.to_param,
+ project_id: project.to_param, id: merge_request.iid, format: format)
end
it "should render it" do
- get :show, project_id: project.to_param, id: merge_request.iid, format: format
+ get(:show, namespace_id: project.namespace.to_param,
+ project_id: project.to_param, id: merge_request.iid, format: format)
expect(response.body).to eq((merge_request.send(:"to_#{format}",user)).to_s)
end
@@ -34,7 +37,8 @@ describe Projects::MergeRequestsController do
allow_any_instance_of(MergeRequest).to receive(:"to_#{format}").
and_return('HTML entities &<>" ')
- get :show, project_id: project.to_param, id: merge_request.iid, format: format
+ get(:show, namespace_id: project.namespace.to_param,
+ project_id: project.to_param, id: merge_request.iid, format: format)
expect(response.body).to_not include('&amp;')
expect(response.body).to_not include('&gt;')
@@ -48,7 +52,8 @@ describe Projects::MergeRequestsController do
let(:format) { :diff }
it "should really only be a git diff" do
- get :show, project_id: project.to_param, id: merge_request.iid, format: format
+ get(:show, namespace_id: project.namespace.to_param,
+ project_id: project.to_param, id: merge_request.iid, format: format)
expect(response.body).to start_with("diff --git")
end
@@ -59,13 +64,15 @@ describe Projects::MergeRequestsController do
let(:format) { :patch }
it "should really be a git email patch with commit" do
- get :show, project_id: project.to_param, id: merge_request.iid, format: format
+ get(:show, namespace_id: project.namespace.to_param,
+ project_id: project.to_param, id: merge_request.iid, format: format)
expect(response.body[0..100]).to start_with("From #{merge_request.commits.last.id}")
end
it "should contain git diffs" do
- get :show, project_id: project.to_param, id: merge_request.iid, format: format
+ get(:show, namespace_id: project.namespace.to_param,
+ project_id: project.to_param, id: merge_request.iid, format: format)
expect(response.body).to match(/^diff --git/)
end
diff --git a/spec/controllers/projects/uploads_controller_spec.rb b/spec/controllers/projects/uploads_controller_spec.rb
index 28d313b7e98..8774ee0a841 100644
--- a/spec/controllers/projects/uploads_controller_spec.rb
+++ b/spec/controllers/projects/uploads_controller_spec.rb
@@ -6,15 +6,18 @@ describe Projects::UploadsController do
let(:jpg) { fixture_file_upload(Rails.root + 'spec/fixtures/rails_sample.jpg', 'image/jpg') }
let(:txt) { fixture_file_upload(Rails.root + 'spec/fixtures/doc_sample.txt', 'text/plain') }
- describe 'POST #create' do
+ describe "POST #create" do
before do
sign_in(user)
project.team << [user, :developer]
end
context "without params['file']" do
- it 'returns an error' do
- post :create, project_id: project.to_param, format: :json
+ it "returns an error" do
+ post :create,
+ namespace_id: project.namespace.to_param,
+ project_id: project.to_param,
+ format: :json
expect(response.status).to eq(422)
end
end
@@ -22,6 +25,7 @@ describe Projects::UploadsController do
context 'with valid image' do
before do
post :create,
+ namespace_id: project.namespace.to_param
project_id: project.to_param,
file: jpg,
format: :json
@@ -36,7 +40,11 @@ describe Projects::UploadsController do
context 'with valid non-image file' do
before do
- post :create, project_id: project.to_param, file: txt, format: :json
+ post :create,
+ namespace_id: project.namespace.to_param,
+ project_id: project.to_param,
+ file: txt,
+ format: :json
end
it 'returns a content with original filename, new link, and correct type.' do
diff --git a/spec/controllers/projects_controller_spec.rb b/spec/controllers/projects_controller_spec.rb
index 9be4c2e505c..89bb35de8fc 100644
--- a/spec/controllers/projects_controller_spec.rb
+++ b/spec/controllers/projects_controller_spec.rb
@@ -4,21 +4,27 @@ describe ProjectsController do
let(:project) { create(:project) }
let(:public_project) { create(:project, :public) }
let(:user) { create(:user) }
-
- describe 'POST #toggle_star' do
- it 'toggles star if user is signed in' do
+ let(:jpg) { fixture_file_upload(Rails.root + 'spec/fixtures/rails_sample.jpg', 'image/jpg') }
+ let(:txt) { fixture_file_upload(Rails.root + 'spec/fixtures/doc_sample.txt', 'text/plain') }
+
+ describe "POST #toggle_star" do
+ it "toggles star if user is signed in" do
sign_in(user)
expect(user.starred?(public_project)).to be_falsey
- post :toggle_star, id: public_project.to_param
+ post(:toggle_star, namespace_id: public_project.namespace.to_param,
+ id: public_project.to_param)
expect(user.starred?(public_project)).to be_truthy
- post :toggle_star, id: public_project.to_param
+ post(:toggle_star, namespace_id: public_project.namespace.to_param,
+ id: public_project.to_param)
expect(user.starred?(public_project)).to be_falsey
end
- it 'does nothing if user is not signed in' do
- post :toggle_star, id: public_project.to_param
+ it "does nothing if user is not signed in" do
+ post(:toggle_star, namespace_id: project.namespace.to_param,
+ id: public_project.to_param)
expect(user.starred?(public_project)).to be_falsey
- post :toggle_star, id: public_project.to_param
+ post(:toggle_star, namespace_id: project.namespace.to_param,
+ id: public_project.to_param)
expect(user.starred?(public_project)).to be_falsey
end
end
diff --git a/spec/controllers/tree_controller_spec.rb b/spec/controllers/tree_controller_spec.rb
index 805e0a8795b..7b219819bbc 100644
--- a/spec/controllers/tree_controller_spec.rb
+++ b/spec/controllers/tree_controller_spec.rb
@@ -18,7 +18,10 @@ describe Projects::TreeController do
# Make sure any errors accessing the tree in our views bubble up to this spec
render_views
- before { get :show, project_id: project.to_param, id: id }
+ before do
+ get(:show, namespace_id: project.namespace.to_param,
+ project_id: project.to_param, id: id)
+ end
context "valid branch, no path" do
let(:id) { 'master' }
@@ -45,7 +48,8 @@ describe Projects::TreeController do
render_views
before do
- get :show, project_id: project.to_param, id: id
+ get(:show, namespace_id: project.namespace.to_param,
+ project_id: project.to_param, id: id)
end
context 'redirect to blob' do
diff --git a/spec/features/admin/admin_projects_spec.rb b/spec/features/admin/admin_projects_spec.rb
index eae3d102334..101d955d693 100644
--- a/spec/features/admin/admin_projects_spec.rb
+++ b/spec/features/admin/admin_projects_spec.rb
@@ -8,11 +8,11 @@ describe "Admin::Projects", feature: true do
describe "GET /admin/projects" do
before do
- visit admin_projects_path
+ visit admin_namespaces_projects_path
end
it "should be ok" do
- expect(current_path).to eq(admin_projects_path)
+ expect(current_path).to eq(admin_namespaces_projects_path)
end
it "should have projects list" do
@@ -22,7 +22,7 @@ describe "Admin::Projects", feature: true do
describe "GET /admin/projects/:id" do
before do
- visit admin_projects_path
+ visit admin_namespaces_projects_path
click_link "#{@project.name}"
end
diff --git a/spec/features/admin/security_spec.rb b/spec/features/admin/security_spec.rb
index 2bcd3d8d010..175fa9d4647 100644
--- a/spec/features/admin/security_spec.rb
+++ b/spec/features/admin/security_spec.rb
@@ -2,7 +2,7 @@ require 'spec_helper'
describe "Admin::Projects", feature: true do
describe "GET /admin/projects" do
- subject { admin_projects_path }
+ subject { admin_namespaces_projects_path }
it { is_expected.to be_allowed_for :admin }
it { is_expected.to be_denied_for :user }
diff --git a/spec/features/atom/issues_spec.rb b/spec/features/atom/issues_spec.rb
index 43163e4113e..baa7814e96a 100644
--- a/spec/features/atom/issues_spec.rb
+++ b/spec/features/atom/issues_spec.rb
@@ -11,7 +11,7 @@ describe 'Issues Feed', feature: true do
context 'when authenticated' do
it 'should render atom feed' do
login_with user
- visit project_issues_path(project, :atom)
+ visit namespace_project_issues_path(project.namespace, project, :atom)
expect(response_headers['Content-Type']).
to have_content('application/atom+xml')
@@ -23,8 +23,8 @@ describe 'Issues Feed', feature: true do
context 'when authenticated via private token' do
it 'should render atom feed' do
- visit project_issues_path(project, :atom,
- private_token: user.private_token)
+ visit namespace_project_issues_path(project.namespace, project, :atom,
+ private_token: user.private_token)
expect(response_headers['Content-Type']).
to have_content('application/atom+xml')
diff --git a/spec/features/gitlab_flavored_markdown_spec.rb b/spec/features/gitlab_flavored_markdown_spec.rb
index 73a9f78708a..fca1a06eb88 100644
--- a/spec/features/gitlab_flavored_markdown_spec.rb
+++ b/spec/features/gitlab_flavored_markdown_spec.rb
@@ -23,25 +23,25 @@ describe "GitLab Flavored Markdown", feature: true do
describe "for commits" do
it "should render title in commits#index" do
- visit project_commits_path(project, 'master', limit: 1)
+ visit namespace_project_commits_path(project.namespace, project, 'master', limit: 1)
expect(page).to have_link("##{issue.iid}")
end
it "should render title in commits#show" do
- visit project_commit_path(project, commit)
+ visit namespace_project_commit_path(project.namespace, project, commit)
expect(page).to have_link("##{issue.iid}")
end
it "should render description in commits#show" do
- visit project_commit_path(project, commit)
+ visit namespace_project_commit_path(project.namespace, project, commit)
expect(page).to have_link("@#{fred.username}")
end
it "should render title in repositories#branches" do
- visit project_branches_path(project)
+ visit namespace_project_branches_path(project.namespace, project)
expect(page).to have_link("##{issue.iid}")
end
@@ -62,19 +62,19 @@ describe "GitLab Flavored Markdown", feature: true do
end
it "should render subject in issues#index" do
- visit project_issues_path(project)
+ visit namespace_project_issues_path(project.namespace, project)
expect(page).to have_link("##{@other_issue.iid}")
end
it "should render subject in issues#show" do
- visit project_issue_path(project, @issue)
+ visit namespace_project_issue_path(project.namespace, project, @issue)
expect(page).to have_link("##{@other_issue.iid}")
end
it "should render details in issues#show" do
- visit project_issue_path(project, @issue)
+ visit namespace_project_issue_path(project.namespace, project, @issue)
expect(page).to have_link("@#{fred.username}")
end
@@ -87,13 +87,13 @@ describe "GitLab Flavored Markdown", feature: true do
end
it "should render title in merge_requests#index" do
- visit project_merge_requests_path(project)
+ visit namespace_project_merge_requests_path(project.namespace, project)
expect(page).to have_link("##{issue.iid}")
end
it "should render title in merge_requests#show" do
- visit project_merge_request_path(project, @merge_request)
+ visit namespace_project_merge_request_path(project.namespace, project, @merge_request)
expect(page).to have_link("##{issue.iid}")
end
@@ -109,19 +109,19 @@ describe "GitLab Flavored Markdown", feature: true do
end
it "should render title in milestones#index" do
- visit project_milestones_path(project)
+ visit namespace_project_milestones_path(project.namespace, project)
expect(page).to have_link("##{issue.iid}")
end
it "should render title in milestones#show" do
- visit project_milestone_path(project, @milestone)
+ visit namespace_project_milestone_path(project.namespace, project, @milestone)
expect(page).to have_link("##{issue.iid}")
end
it "should render description in milestones#show" do
- visit project_milestone_path(project, @milestone)
+ visit namespace_project_milestone_path(project.namespace, project, @milestone)
expect(page).to have_link("@#{fred.username}")
end
diff --git a/spec/features/issues_spec.rb b/spec/features/issues_spec.rb
index f54155439cb..a2db57ad908 100644
--- a/spec/features/issues_spec.rb
+++ b/spec/features/issues_spec.rb
@@ -21,7 +21,7 @@ describe 'Issues', feature: true do
end
before do
- visit project_issues_path(project)
+ visit namespace_project_issues_path(project.namespace, project)
click_link "Edit"
end
@@ -61,7 +61,7 @@ describe 'Issues', feature: true do
end
it 'allows user to select unasigned', js: true do
- visit edit_project_issue_path(project, issue)
+ visit edit_namespace_project_issue_path(project.namespace, project, issue)
expect(page).to have_content "Assign to #{@user.name}"
@@ -95,7 +95,7 @@ describe 'Issues', feature: true do
let(:issue) { @issue }
it 'should allow filtering by issues with no specified milestone' do
- visit project_issues_path(project, milestone_id: '0')
+ visit namespace_project_issues_path(project.namespace, project, milestone_id: '0')
expect(page).not_to have_content 'foobar'
expect(page).to have_content 'barbaz'
@@ -103,7 +103,7 @@ describe 'Issues', feature: true do
end
it 'should allow filtering by a specified milestone' do
- visit project_issues_path(project, milestone_id: issue.milestone.id)
+ visit namespace_project_issues_path(project.namespace, project, milestone_id: issue.milestone.id)
expect(page).to have_content 'foobar'
expect(page).not_to have_content 'barbaz'
@@ -111,7 +111,7 @@ describe 'Issues', feature: true do
end
it 'should allow filtering by issues with no specified assignee' do
- visit project_issues_path(project, assignee_id: '0')
+ visit namespace_project_issues_path(project.namespace, project, assignee_id: '0')
expect(page).to have_content 'foobar'
expect(page).not_to have_content 'barbaz'
@@ -119,7 +119,7 @@ describe 'Issues', feature: true do
end
it 'should allow filtering by a specified assignee' do
- visit project_issues_path(project, assignee_id: @user.id)
+ visit namespace_project_issues_path(project.namespace, project, assignee_id: @user.id)
expect(page).not_to have_content 'foobar'
expect(page).to have_content 'barbaz'
@@ -140,14 +140,14 @@ describe 'Issues', feature: true do
let(:later_due_milestone) { create(:milestone, due_date: '2013-12-12') }
it 'sorts by newest' do
- visit project_issues_path(project, sort: sort_value_recently_created)
+ visit namespace_project_issues_path(project.namespace, project, sort: sort_value_recently_created)
expect(first_issue).to include('foo')
expect(last_issue).to include('baz')
end
it 'sorts by oldest' do
- visit project_issues_path(project, sort: sort_value_oldest_created)
+ visit namespace_project_issues_path(project.namespace, project, sort: sort_value_oldest_created)
expect(first_issue).to include('baz')
expect(last_issue).to include('foo')
@@ -156,7 +156,7 @@ describe 'Issues', feature: true do
it 'sorts by most recently updated' do
baz.updated_at = Time.now + 100
baz.save
- visit project_issues_path(project, sort: sort_value_recently_updated)
+ visit namespace_project_issues_path(project.namespace, project, sort: sort_value_recently_updated)
expect(first_issue).to include('baz')
end
@@ -164,7 +164,7 @@ describe 'Issues', feature: true do
it 'sorts by least recently updated' do
baz.updated_at = Time.now - 100
baz.save
- visit project_issues_path(project, sort: sort_value_oldest_updated)
+ visit namespace_project_issues_path(project.namespace, project, sort: sort_value_oldest_updated)
expect(first_issue).to include('baz')
end
@@ -178,13 +178,13 @@ describe 'Issues', feature: true do
end
it 'sorts by recently due milestone' do
- visit project_issues_path(project, sort: sort_value_milestone_soon)
+ visit namespace_project_issues_path(project.namespace, project, sort: sort_value_milestone_soon)
expect(first_issue).to include('foo')
end
it 'sorts by least recently due milestone' do
- visit project_issues_path(project, sort: sort_value_milestone_later)
+ visit namespace_project_issues_path(project.namespace, project, sort: sort_value_milestone_later)
expect(first_issue).to include('bar')
end
@@ -201,9 +201,9 @@ describe 'Issues', feature: true do
end
it 'sorts with a filter applied' do
- visit project_issues_path(project,
- sort: sort_value_oldest_created,
- assignee_id: user2.id)
+ visit namespace_project_issues_path(project.namespace, project,
+ sort: sort_value_oldest_created,
+ assignee_id: user2.id)
expect(first_issue).to include('bar')
expect(last_issue).to include('foo')
@@ -218,7 +218,7 @@ describe 'Issues', feature: true do
context 'by autorized user' do
it 'with dropdown menu' do
- visit project_issue_path(project, issue)
+ visit namespace_project_issue_path(project.namespace, project, issue)
find('.edit-issue.inline-update #issue_assignee_id').
set project.team.members.first.id
@@ -244,7 +244,7 @@ describe 'Issues', feature: true do
logout
login_with guest
- visit project_issue_path(project, issue)
+ visit namespace_project_issue_path(project.namespace, project, issue)
expect(page).to have_content issue.assignee.name
end
end
@@ -257,7 +257,7 @@ describe 'Issues', feature: true do
context 'by authorized user' do
it 'with dropdown menu' do
- visit project_issue_path(project, issue)
+ visit namespace_project_issue_path(project.namespace, project, issue)
find('.edit-issue.inline-update').
select(milestone.title, from: 'issue_milestone_id')
@@ -282,7 +282,7 @@ describe 'Issues', feature: true do
logout
login_with guest
- visit project_issue_path(project, issue)
+ visit namespace_project_issue_path(project.namespace, project, issue)
expect(page).to have_content milestone.title
end
end
@@ -295,8 +295,8 @@ describe 'Issues', feature: true do
issue.save
end
- it 'allows user to remove assignee', js: true do
- visit project_issue_path(project, issue)
+ it 'allows user to remove assignee', :js => true do
+ visit namespace_project_issue_path(project.namespace, project, issue)
expect(page).to have_content "Assignee: #{user2.name}"
first('#s2id_issue_assignee_id').click
diff --git a/spec/features/notes_on_merge_requests_spec.rb b/spec/features/notes_on_merge_requests_spec.rb
index 76d1a72bdb6..c47368b1fda 100644
--- a/spec/features/notes_on_merge_requests_spec.rb
+++ b/spec/features/notes_on_merge_requests_spec.rb
@@ -12,7 +12,7 @@ describe 'Comments' do
before do
login_as :admin
- visit project_merge_request_path(project, merge_request)
+ visit namespace_project_merge_request_path(project.namespace, project, merge_request)
end
subject { page }
@@ -136,7 +136,7 @@ describe 'Comments' do
before do
login_as :admin
- visit diffs_project_merge_request_path(project, merge_request)
+ visit diffs_namespace_project_merge_request_path(project.namespace, project, merge_request)
end
subject { page }
diff --git a/spec/features/projects_spec.rb b/spec/features/projects_spec.rb
index d291621935b..cae11be7cdd 100644
--- a/spec/features/projects_spec.rb
+++ b/spec/features/projects_spec.rb
@@ -7,7 +7,7 @@ describe "Projects", feature: true, js: true do
before do
@project = create(:project, namespace: @user.namespace)
@project.team << [@user, :master]
- visit edit_project_path(@project)
+ visit edit_namespace_project_path(@project.namespace, @project)
end
it "should remove project" do
diff --git a/spec/features/security/project/internal_access_spec.rb b/spec/features/security/project/internal_access_spec.rb
index 81f94e33569..322697bced8 100644
--- a/spec/features/security/project/internal_access_spec.rb
+++ b/spec/features/security/project/internal_access_spec.rb
@@ -25,7 +25,7 @@ describe "Internal Project Access", feature: true do
end
describe "GET /:project_path" do
- subject { project_path(project) }
+ subject { namespace_project_path(project.namespace, project) }
it { is_expected.to be_allowed_for master }
it { is_expected.to be_allowed_for reporter }
@@ -36,7 +36,7 @@ describe "Internal Project Access", feature: true do
end
describe "GET /:project_path/tree/master" do
- subject { project_tree_path(project, project.repository.root_ref) }
+ subject { namespace_project_tree_path(project.namespace, project, project.repository.root_ref) }
it { is_expected.to be_allowed_for master }
it { is_expected.to be_allowed_for reporter }
@@ -47,7 +47,7 @@ describe "Internal Project Access", feature: true do
end
describe "GET /:project_path/commits/master" do
- subject { project_commits_path(project, project.repository.root_ref, limit: 1) }
+ subject { namespace_project_commits_path(project.namespace, project, project.repository.root_ref, limit: 1) }
it { is_expected.to be_allowed_for master }
it { is_expected.to be_allowed_for reporter }
@@ -58,7 +58,7 @@ describe "Internal Project Access", feature: true do
end
describe "GET /:project_path/commit/:sha" do
- subject { project_commit_path(project, project.repository.commit) }
+ subject { namespace_project_commit_path(project.namespace, project, project.repository.commit) }
it { is_expected.to be_allowed_for master }
it { is_expected.to be_allowed_for reporter }
@@ -69,7 +69,7 @@ describe "Internal Project Access", feature: true do
end
describe "GET /:project_path/compare" do
- subject { project_compare_index_path(project) }
+ subject { namespace_project_compare_index_path(project.namespace, project) }
it { is_expected.to be_allowed_for master }
it { is_expected.to be_allowed_for reporter }
@@ -80,7 +80,7 @@ describe "Internal Project Access", feature: true do
end
describe "GET /:project_path/team" do
- subject { project_team_index_path(project) }
+ subject { namespace_project_team_index_path(project.namespace, project) }
it { is_expected.to be_allowed_for master }
it { is_expected.to be_denied_for reporter }
@@ -94,7 +94,7 @@ describe "Internal Project Access", feature: true do
before do
commit = project.repository.commit
path = '.gitignore'
- @blob_path = project_blob_path(project, File.join(commit.id, path))
+ @blob_path = namespace_project_blob_path(project.namespace, project, File.join(commit.id, path))
end
it { expect(@blob_path).to be_allowed_for master }
@@ -106,7 +106,7 @@ describe "Internal Project Access", feature: true do
end
describe "GET /:project_path/edit" do
- subject { edit_project_path(project) }
+ subject { edit_namespace_project_path(project.namespace, project) }
it { is_expected.to be_allowed_for master }
it { is_expected.to be_denied_for reporter }
@@ -117,7 +117,7 @@ describe "Internal Project Access", feature: true do
end
describe "GET /:project_path/deploy_keys" do
- subject { project_deploy_keys_path(project) }
+ subject { namespace_project_deploy_keys_path(project.namespace, project) }
it { is_expected.to be_allowed_for master }
it { is_expected.to be_denied_for reporter }
@@ -128,7 +128,7 @@ describe "Internal Project Access", feature: true do
end
describe "GET /:project_path/issues" do
- subject { project_issues_path(project) }
+ subject { namespace_project_issues_path(project.namespace, project) }
it { is_expected.to be_allowed_for master }
it { is_expected.to be_allowed_for reporter }
@@ -139,7 +139,7 @@ describe "Internal Project Access", feature: true do
end
describe "GET /:project_path/snippets" do
- subject { project_snippets_path(project) }
+ subject { namespace_project_snippets_path(project.namespace, project) }
it { is_expected.to be_allowed_for master }
it { is_expected.to be_allowed_for reporter }
@@ -150,7 +150,7 @@ describe "Internal Project Access", feature: true do
end
describe "GET /:project_path/snippets/new" do
- subject { new_project_snippet_path(project) }
+ subject { new_namespace_project_snippet_path(project.namespace, project) }
it { is_expected.to be_allowed_for master }
it { is_expected.to be_allowed_for reporter }
@@ -161,7 +161,7 @@ describe "Internal Project Access", feature: true do
end
describe "GET /:project_path/merge_requests" do
- subject { project_merge_requests_path(project) }
+ subject { namespace_project_merge_requests_path(project.namespace, project) }
it { is_expected.to be_allowed_for master }
it { is_expected.to be_allowed_for reporter }
@@ -172,7 +172,7 @@ describe "Internal Project Access", feature: true do
end
describe "GET /:project_path/merge_requests/new" do
- subject { new_project_merge_request_path(project) }
+ subject { new_namespace_project_merge_request_path(project.namespace, project) }
it { is_expected.to be_allowed_for master }
it { is_expected.to be_denied_for reporter }
@@ -183,7 +183,7 @@ describe "Internal Project Access", feature: true do
end
describe "GET /:project_path/branches" do
- subject { project_branches_path(project) }
+ subject { namespace_project_branches_path(project.namespace, project) }
before do
# Speed increase
@@ -199,7 +199,7 @@ describe "Internal Project Access", feature: true do
end
describe "GET /:project_path/tags" do
- subject { project_tags_path(project) }
+ subject { namespace_project_tags_path(project.namespace, project) }
before do
# Speed increase
@@ -215,7 +215,7 @@ describe "Internal Project Access", feature: true do
end
describe "GET /:project_path/hooks" do
- subject { project_hooks_path(project) }
+ subject { namespace_project_hooks_path(project.namespace, project) }
it { is_expected.to be_allowed_for master }
it { is_expected.to be_denied_for reporter }
diff --git a/spec/features/security/project/private_access_spec.rb b/spec/features/security/project/private_access_spec.rb
index fd21e722611..ea146c3f0e4 100644
--- a/spec/features/security/project/private_access_spec.rb
+++ b/spec/features/security/project/private_access_spec.rb
@@ -25,7 +25,7 @@ describe "Private Project Access", feature: true do
end
describe "GET /:project_path" do
- subject { project_path(project) }
+ subject { namespace_project_path(project.namespace, project) }
it { is_expected.to be_allowed_for master }
it { is_expected.to be_allowed_for reporter }
@@ -36,7 +36,7 @@ describe "Private Project Access", feature: true do
end
describe "GET /:project_path/tree/master" do
- subject { project_tree_path(project, project.repository.root_ref) }
+ subject { namespace_project_tree_path(project.namespace, project, project.repository.root_ref) }
it { is_expected.to be_allowed_for master }
it { is_expected.to be_allowed_for reporter }
@@ -47,7 +47,7 @@ describe "Private Project Access", feature: true do
end
describe "GET /:project_path/commits/master" do
- subject { project_commits_path(project, project.repository.root_ref, limit: 1) }
+ subject { namespace_project_commits_path(project.namespace, project, project.repository.root_ref, limit: 1) }
it { is_expected.to be_allowed_for master }
it { is_expected.to be_allowed_for reporter }
@@ -58,7 +58,7 @@ describe "Private Project Access", feature: true do
end
describe "GET /:project_path/commit/:sha" do
- subject { project_commit_path(project, project.repository.commit) }
+ subject { namespace_project_commit_path(project.namespace, project, project.repository.commit) }
it { is_expected.to be_allowed_for master }
it { is_expected.to be_allowed_for reporter }
@@ -69,7 +69,7 @@ describe "Private Project Access", feature: true do
end
describe "GET /:project_path/compare" do
- subject { project_compare_index_path(project) }
+ subject { namespace_project_compare_index_path(project.namespace, project) }
it { is_expected.to be_allowed_for master }
it { is_expected.to be_allowed_for reporter }
@@ -80,7 +80,7 @@ describe "Private Project Access", feature: true do
end
describe "GET /:project_path/team" do
- subject { project_team_index_path(project) }
+ subject { namespace_project_team_index_path(project.namespace, project) }
it { is_expected.to be_allowed_for master }
it { is_expected.to be_denied_for reporter }
@@ -94,7 +94,7 @@ describe "Private Project Access", feature: true do
before do
commit = project.repository.commit
path = '.gitignore'
- @blob_path = project_blob_path(project, File.join(commit.id, path))
+ @blob_path = namespace_project_blob_path(project.namespace, project, File.join(commit.id, path))
end
it { expect(@blob_path).to be_allowed_for master }
@@ -106,7 +106,7 @@ describe "Private Project Access", feature: true do
end
describe "GET /:project_path/edit" do
- subject { edit_project_path(project) }
+ subject { edit_namespace_project_path(project.namespace, project) }
it { is_expected.to be_allowed_for master }
it { is_expected.to be_denied_for reporter }
@@ -117,7 +117,7 @@ describe "Private Project Access", feature: true do
end
describe "GET /:project_path/deploy_keys" do
- subject { project_deploy_keys_path(project) }
+ subject { namespace_project_deploy_keys_path(project.namespace, project) }
it { is_expected.to be_allowed_for master }
it { is_expected.to be_denied_for reporter }
@@ -128,7 +128,7 @@ describe "Private Project Access", feature: true do
end
describe "GET /:project_path/issues" do
- subject { project_issues_path(project) }
+ subject { namespace_project_issues_path(project.namespace, project) }
it { is_expected.to be_allowed_for master }
it { is_expected.to be_allowed_for reporter }
@@ -139,7 +139,7 @@ describe "Private Project Access", feature: true do
end
describe "GET /:project_path/snippets" do
- subject { project_snippets_path(project) }
+ subject { namespace_project_snippets_path(project.namespace, project) }
it { is_expected.to be_allowed_for master }
it { is_expected.to be_allowed_for reporter }
@@ -150,7 +150,7 @@ describe "Private Project Access", feature: true do
end
describe "GET /:project_path/merge_requests" do
- subject { project_merge_requests_path(project) }
+ subject { namespace_project_merge_requests_path(project.namespace, project) }
it { is_expected.to be_allowed_for master }
it { is_expected.to be_allowed_for reporter }
@@ -161,7 +161,7 @@ describe "Private Project Access", feature: true do
end
describe "GET /:project_path/branches" do
- subject { project_branches_path(project) }
+ subject { namespace_project_branches_path(project.namespace, project) }
before do
# Speed increase
@@ -177,7 +177,7 @@ describe "Private Project Access", feature: true do
end
describe "GET /:project_path/tags" do
- subject { project_tags_path(project) }
+ subject { namespace_project_tags_path(project.namespace, project) }
before do
# Speed increase
@@ -193,7 +193,7 @@ describe "Private Project Access", feature: true do
end
describe "GET /:project_path/hooks" do
- subject { project_hooks_path(project) }
+ subject { namespace_project_hooks_path(project.namespace, project) }
it { is_expected.to be_allowed_for master }
it { is_expected.to be_denied_for reporter }
diff --git a/spec/features/security/project/public_access_spec.rb b/spec/features/security/project/public_access_spec.rb
index ddc1c3be7df..8ee9199ff29 100644
--- a/spec/features/security/project/public_access_spec.rb
+++ b/spec/features/security/project/public_access_spec.rb
@@ -30,7 +30,7 @@ describe "Public Project Access", feature: true do
end
describe "GET /:project_path" do
- subject { project_path(project) }
+ subject { namespace_project_path(project.namespace, project) }
it { is_expected.to be_allowed_for master }
it { is_expected.to be_allowed_for reporter }
@@ -41,7 +41,7 @@ describe "Public Project Access", feature: true do
end
describe "GET /:project_path/tree/master" do
- subject { project_tree_path(project, project.repository.root_ref) }
+ subject { namespace_project_tree_path(project.namespace, project, project.repository.root_ref) }
it { is_expected.to be_allowed_for master }
it { is_expected.to be_allowed_for reporter }
@@ -52,7 +52,7 @@ describe "Public Project Access", feature: true do
end
describe "GET /:project_path/commits/master" do
- subject { project_commits_path(project, project.repository.root_ref, limit: 1) }
+ subject { namespace_project_commits_path(project.namespace, project, project.repository.root_ref, limit: 1) }
it { is_expected.to be_allowed_for master }
it { is_expected.to be_allowed_for reporter }
@@ -63,7 +63,7 @@ describe "Public Project Access", feature: true do
end
describe "GET /:project_path/commit/:sha" do
- subject { project_commit_path(project, project.repository.commit) }
+ subject { namespace_project_commit_path(project.namespace, project, project.repository.commit) }
it { is_expected.to be_allowed_for master }
it { is_expected.to be_allowed_for reporter }
@@ -74,7 +74,7 @@ describe "Public Project Access", feature: true do
end
describe "GET /:project_path/compare" do
- subject { project_compare_index_path(project) }
+ subject { namespace_project_compare_index_path(project.namespace, project) }
it { is_expected.to be_allowed_for master }
it { is_expected.to be_allowed_for reporter }
@@ -85,7 +85,7 @@ describe "Public Project Access", feature: true do
end
describe "GET /:project_path/team" do
- subject { project_team_index_path(project) }
+ subject { namespace_project_team_index_path(project.namespace, project) }
it { is_expected.to be_allowed_for master }
it { is_expected.to be_denied_for reporter }
@@ -99,7 +99,7 @@ describe "Public Project Access", feature: true do
before do
commit = project.repository.commit
path = '.gitignore'
- @blob_path = project_blob_path(project, File.join(commit.id, path))
+ @blob_path = namespace_project_blob_path(project.namespace, project, File.join(commit.id, path))
end
it { expect(@blob_path).to be_allowed_for master }
@@ -111,7 +111,7 @@ describe "Public Project Access", feature: true do
end
describe "GET /:project_path/edit" do
- subject { edit_project_path(project) }
+ subject { edit_namespace_project_path(project.namespace, project) }
it { is_expected.to be_allowed_for master }
it { is_expected.to be_denied_for reporter }
@@ -122,7 +122,7 @@ describe "Public Project Access", feature: true do
end
describe "GET /:project_path/deploy_keys" do
- subject { project_deploy_keys_path(project) }
+ subject { namespace_project_deploy_keys_path(project.namespace, project) }
it { is_expected.to be_allowed_for master }
it { is_expected.to be_denied_for reporter }
@@ -133,7 +133,7 @@ describe "Public Project Access", feature: true do
end
describe "GET /:project_path/issues" do
- subject { project_issues_path(project) }
+ subject { namespace_project_issues_path(project.namespace, project) }
it { is_expected.to be_allowed_for master }
it { is_expected.to be_allowed_for reporter }
@@ -144,7 +144,7 @@ describe "Public Project Access", feature: true do
end
describe "GET /:project_path/snippets" do
- subject { project_snippets_path(project) }
+ subject { namespace_project_snippets_path(project.namespace, project) }
it { is_expected.to be_allowed_for master }
it { is_expected.to be_allowed_for reporter }
@@ -155,7 +155,7 @@ describe "Public Project Access", feature: true do
end
describe "GET /:project_path/snippets/new" do
- subject { new_project_snippet_path(project) }
+ subject { new_namespace_project_snippet_path(project.namespace, project) }
it { is_expected.to be_allowed_for master }
it { is_expected.to be_allowed_for reporter }
@@ -166,7 +166,7 @@ describe "Public Project Access", feature: true do
end
describe "GET /:project_path/merge_requests" do
- subject { project_merge_requests_path(project) }
+ subject { namespace_project_merge_requests_path(project.namespace, project) }
it { is_expected.to be_allowed_for master }
it { is_expected.to be_allowed_for reporter }
@@ -177,7 +177,7 @@ describe "Public Project Access", feature: true do
end
describe "GET /:project_path/merge_requests/new" do
- subject { new_project_merge_request_path(project) }
+ subject { new_namespace_project_merge_request_path(project.namespace, project) }
it { is_expected.to be_allowed_for master }
it { is_expected.to be_denied_for reporter }
@@ -188,7 +188,7 @@ describe "Public Project Access", feature: true do
end
describe "GET /:project_path/branches" do
- subject { project_branches_path(project) }
+ subject { namespace_project_branches_path(project.namespace, project) }
before do
# Speed increase
@@ -204,7 +204,7 @@ describe "Public Project Access", feature: true do
end
describe "GET /:project_path/tags" do
- subject { project_tags_path(project) }
+ subject { namespace_project_tags_path(project.namespace, project) }
before do
# Speed increase
@@ -220,7 +220,7 @@ describe "Public Project Access", feature: true do
end
describe "GET /:project_path/hooks" do
- subject { project_hooks_path(project) }
+ subject { namespace_project_hooks_path(project.namespace, project) }
it { is_expected.to be_allowed_for master }
it { is_expected.to be_denied_for reporter }
diff --git a/spec/helpers/application_helper_spec.rb b/spec/helpers/application_helper_spec.rb
index 61d6c906ad0..9d99b6e33cb 100644
--- a/spec/helpers/application_helper_spec.rb
+++ b/spec/helpers/application_helper_spec.rb
@@ -64,7 +64,7 @@ describe ApplicationHelper do
project = create(:project)
project.avatar = File.open(avatar_file_path)
project.save!
- expect(project_icon(project.to_param).to_s).to eq(
+ expect(project_icon("#{project.namespace.to_param}/#{project.to_param}").to_s).to eq(
"<img alt=\"Gitlab logo\" src=\"/uploads/project/avatar/#{ project.id }/gitlab_logo.png\" />"
)
end
@@ -75,8 +75,8 @@ describe ApplicationHelper do
allow_any_instance_of(Project).to receive(:avatar_in_git).and_return(true)
- expect(project_icon(project.to_param).to_s).to match(
- image_tag(project_avatar_path(project)))
+ expect(project_icon("#{project.namespace.to_param}/#{project.to_param}").to_s).to match(
+ image_tag(namespace_project_avatar_path(project.namespace, project)))
end
end
diff --git a/spec/helpers/gitlab_markdown_helper_spec.rb b/spec/helpers/gitlab_markdown_helper_spec.rb
index ab908a3d61e..76fcf888a6a 100644
--- a/spec/helpers/gitlab_markdown_helper_spec.rb
+++ b/spec/helpers/gitlab_markdown_helper_spec.rb
@@ -54,7 +54,7 @@ describe GitlabMarkdownHelper do
end
describe "referencing a commit" do
- let(:expected) { project_commit_path(project, commit) }
+ let(:expected) { namespace_project_commit_path(project.namespace, project, commit) }
it "should link using a full id" do
actual = "Reverts #{commit.id}"
@@ -146,7 +146,7 @@ describe GitlabMarkdownHelper do
# Currently limited to Snippets, Issues and MergeRequests
shared_examples 'referenced object' do
let(:actual) { "Reference to #{reference}" }
- let(:expected) { polymorphic_path([project, object]) }
+ let(:expected) { polymorphic_path([project.namespace, project, object]) }
it "should link using a valid id" do
expect(gfm(actual)).to match(expected)
@@ -199,9 +199,9 @@ describe GitlabMarkdownHelper do
let(:actual) { "Reference to #{full_reference}" }
let(:expected) do
if object.is_a?(Commit)
- project_commit_path(@other_project, object)
+ namespace_project_commit_path(@other_project.namespace, @other_project, object)
else
- polymorphic_path([@other_project, object])
+ polymorphic_path([@other_project.namespace, @other_project, object])
end
end
@@ -353,7 +353,7 @@ describe GitlabMarkdownHelper do
let(:object) { snippet }
let(:reference) { "$#{snippet.id}" }
let(:actual) { "Reference to #{reference}" }
- let(:expected) { project_snippet_path(project, object) }
+ let(:expected) { namespace_project_snippet_path(project.namespace, project, object) }
it "should link using a valid id" do
expect(gfm(actual)).to match(expected)
@@ -395,17 +395,17 @@ describe GitlabMarkdownHelper do
let(:actual) { "!#{merge_request.iid} -> #{commit.id} -> ##{issue.iid}" }
it "should link to the merge request" do
- expected = project_merge_request_path(project, merge_request)
+ expected = namespace_project_merge_request_path(project.namespace, project, merge_request)
expect(gfm(actual)).to match(expected)
end
it "should link to the commit" do
- expected = project_commit_path(project, commit)
+ expected = namespace_project_commit_path(project.namespace, project, commit)
expect(gfm(actual)).to match(expected)
end
it "should link to the issue" do
- expected = project_issue_path(project, issue)
+ expected = namespace_project_issue_path(project.namespace, project, issue)
expect(gfm(actual)).to match(expected)
end
end
@@ -458,7 +458,7 @@ describe GitlabMarkdownHelper do
end
describe "#link_to_gfm" do
- let(:commit_path) { project_commit_path(project, commit) }
+ let(:commit_path) { namespace_project_commit_path(project.namespace, project, commit) }
let(:issues) { create_list(:issue, 2, project: project) }
it "should handle references nested in links with all the text" do
@@ -474,7 +474,7 @@ describe GitlabMarkdownHelper do
# First issue link
expect(groups[1]).
- to match(/href="#{project_issue_url(project, issues[0])}"/)
+ to match(/href="#{namespace_project_issue_path(project.namespace, project, issues[0])}"/)
expect(groups[1]).to match(/##{issues[0].iid}$/)
# Internal commit link
@@ -483,7 +483,7 @@ describe GitlabMarkdownHelper do
# Second issue link
expect(groups[3]).
- to match(/href="#{project_issue_url(project, issues[1])}"/)
+ to match(/href="#{namespace_project_issue_path(project.namespace, project, issues[1])}"/)
expect(groups[3]).to match(/##{issues[1].iid}$/)
# Trailing commit link
@@ -506,7 +506,7 @@ describe GitlabMarkdownHelper do
describe "#markdown" do
it "should handle references in paragraphs" do
actual = "\n\nLorem ipsum dolor sit amet. #{commit.id} Nam pulvinar sapien eget.\n"
- expected = project_commit_path(project, commit)
+ expected = namespace_project_commit_path(project.namespace, project, commit)
expect(markdown(actual)).to match(expected)
end
@@ -603,7 +603,7 @@ describe GitlabMarkdownHelper do
end
it "should leave ref-like href of 'manual' links untouched" do
- expect(markdown("why not [inspect !#{merge_request.iid}](http://example.tld/#!#{merge_request.iid})")).to eq("<p>why not <a href=\"http://example.tld/#!#{merge_request.iid}\">inspect </a><a class=\"gfm gfm-merge_request \" href=\"#{project_merge_request_url(project, merge_request)}\" title=\"Merge Request: #{merge_request.title}\">!#{merge_request.iid}</a><a href=\"http://example.tld/#!#{merge_request.iid}\"></a></p>\n")
+ expect(markdown("why not [inspect !#{merge_request.iid}](http://example.tld/#!#{merge_request.iid})")).to eq("<p>why not <a href=\"http://example.tld/#!#{merge_request.iid}\">inspect </a><a class=\"gfm gfm-merge_request \" href=\"#{namespace_project_merge_request_url(project.namespace, project, merge_request)}\" title=\"Merge Request: #{merge_request.title}\">!#{merge_request.iid}</a><a href=\"http://example.tld/#!#{merge_request.iid}\"></a></p>\n")
end
it "should leave ref-like src of images untouched" do
@@ -611,7 +611,7 @@ describe GitlabMarkdownHelper do
end
it "should generate absolute urls for refs" do
- expect(markdown("##{issue.iid}")).to include(project_issue_url(project, issue))
+ expect(markdown("##{issue.iid}")).to include(namespace_project_issue_path(project.namespace, project, issue))
end
it "should generate absolute urls for emoji" do
diff --git a/spec/helpers/issues_helper_spec.rb b/spec/helpers/issues_helper_spec.rb
index 7a8fd25e02d..54dd8d4aa64 100644
--- a/spec/helpers/issues_helper_spec.rb
+++ b/spec/helpers/issues_helper_spec.rb
@@ -29,7 +29,7 @@ describe IssuesHelper do
project_url.gsub(':project_id', ext_project.id.to_s)
.gsub(':issues_tracker_id', ext_project.issues_tracker_id.to_s)
end
- let(:int_expected) { polymorphic_path([project]) }
+ let(:int_expected) { polymorphic_path([@project.namespace, project]) }
it "should return internal path if used internal tracker" do
@project = project
@@ -67,7 +67,7 @@ describe IssuesHelper do
.gsub(':project_id', ext_project.id.to_s)
.gsub(':issues_tracker_id', ext_project.issues_tracker_id.to_s)
end
- let(:int_expected) { polymorphic_path([project, issue]) }
+ let(:int_expected) { polymorphic_path([@project.namespace, project, issue]) }
it "should return internal path if used internal tracker" do
@project = project
@@ -104,7 +104,7 @@ describe IssuesHelper do
issues_url.gsub(':project_id', ext_project.id.to_s)
.gsub(':issues_tracker_id', ext_project.issues_tracker_id.to_s)
end
- let(:int_expected) { new_project_issue_path(project) }
+ let(:int_expected) { new_namespace_project_issue_path(project.namespace, project) }
it "should return internal path if used internal tracker" do
@project = project
diff --git a/spec/helpers/submodule_helper_spec.rb b/spec/helpers/submodule_helper_spec.rb
index 3d80dc9d0a4..aef1108e333 100644
--- a/spec/helpers/submodule_helper_spec.rb
+++ b/spec/helpers/submodule_helper_spec.rb
@@ -19,28 +19,28 @@ describe SubmoduleHelper do
Gitlab.config.gitlab_shell.stub(ssh_port: 22) # set this just to be sure
Gitlab.config.gitlab_shell.stub(ssh_path_prefix: Settings.send(:build_gitlab_shell_ssh_path_prefix))
stub_url([ config.user, '@', config.host, ':gitlab-org/gitlab-ce.git' ].join(''))
- expect(submodule_links(submodule_item)).to eq([ project_path('gitlab-org/gitlab-ce'), project_tree_path('gitlab-org/gitlab-ce', 'hash') ])
+ expect(submodule_links(submodule_item)).to eq([ namespace_project_path('gitlab-org', 'gitlab-ce'), namespace_project_tree_path('gitlab-org', 'gitlab-ce', 'hash') ])
end
it 'should detect ssh on non-standard port' do
Gitlab.config.gitlab_shell.stub(ssh_port: 2222)
Gitlab.config.gitlab_shell.stub(ssh_path_prefix: Settings.send(:build_gitlab_shell_ssh_path_prefix))
stub_url([ 'ssh://', config.user, '@', config.host, ':2222/gitlab-org/gitlab-ce.git' ].join(''))
- expect(submodule_links(submodule_item)).to eq([ project_path('gitlab-org/gitlab-ce'), project_tree_path('gitlab-org/gitlab-ce', 'hash') ])
+ expect(submodule_links(submodule_item)).to eq([ namespace_project_path('gitlab-org', 'gitlab-ce'), namespace_project_tree_path('gitlab-org', 'gitlab-ce', 'hash') ])
end
it 'should detect http on standard port' do
Gitlab.config.gitlab.stub(port: 80)
Gitlab.config.gitlab.stub(url: Settings.send(:build_gitlab_url))
stub_url([ 'http://', config.host, '/gitlab-org/gitlab-ce.git' ].join(''))
- expect(submodule_links(submodule_item)).to eq([ project_path('gitlab-org/gitlab-ce'), project_tree_path('gitlab-org/gitlab-ce', 'hash') ])
+ expect(submodule_links(submodule_item)).to eq([ namespace_project_path('gitlab-org', 'gitlab-ce'), namespace_project_tree_path('gitlab-org', 'gitlab-ce', 'hash') ])
end
it 'should detect http on non-standard port' do
Gitlab.config.gitlab.stub(port: 3000)
Gitlab.config.gitlab.stub(url: Settings.send(:build_gitlab_url))
stub_url([ 'http://', config.host, ':3000/gitlab-org/gitlab-ce.git' ].join(''))
- expect(submodule_links(submodule_item)).to eq([ project_path('gitlab-org/gitlab-ce'), project_tree_path('gitlab-org/gitlab-ce', 'hash') ])
+ expect(submodule_links(submodule_item)).to eq([ namespace_project_path('gitlab-org', 'gitlab-ce'), namespace_project_tree_path('gitlab-org', 'gitlab-ce', 'hash') ])
end
it 'should work with relative_url_root' do
@@ -48,7 +48,7 @@ describe SubmoduleHelper do
Gitlab.config.gitlab.stub(relative_url_root: '/gitlab/root')
Gitlab.config.gitlab.stub(url: Settings.send(:build_gitlab_url))
stub_url([ 'http://', config.host, '/gitlab/root/gitlab-org/gitlab-ce.git' ].join(''))
- expect(submodule_links(submodule_item)).to eq([ project_path('gitlab-org/gitlab-ce'), project_tree_path('gitlab-org/gitlab-ce', 'hash') ])
+ expect(submodule_links(submodule_item)).to eq([ namespace_project_path('gitlab-org', 'gitlab-ce'), namespace_project_tree_path('gitlab-org', 'gitlab-ce', 'hash') ])
end
end
diff --git a/spec/lib/gitlab/url_builder_spec.rb b/spec/lib/gitlab/url_builder_spec.rb
index eb47bee8336..716430340b6 100644
--- a/spec/lib/gitlab/url_builder_spec.rb
+++ b/spec/lib/gitlab/url_builder_spec.rb
@@ -5,7 +5,7 @@ describe Gitlab::UrlBuilder do
it 'returns the issue url' do
issue = create(:issue)
url = Gitlab::UrlBuilder.new(:issue).build(issue.id)
- expect(url).to eq "#{Settings.gitlab['url']}/#{issue.project.to_param}/issues/#{issue.iid}"
+ expect(url).to eq "#{Settings.gitlab['url']}/#{issue.project.path_with_namespace}/issues/#{issue.iid}"
end
end
end
diff --git a/spec/mailers/notify_spec.rb b/spec/mailers/notify_spec.rb
index 64367ed9d80..3b09c618f2a 100644
--- a/spec/mailers/notify_spec.rb
+++ b/spec/mailers/notify_spec.rb
@@ -194,7 +194,7 @@ describe Notify do
end
it 'contains a link to the new issue' do
- is_expected.to have_body_text /#{project_issue_path project, issue}/
+ is_expected.to have_body_text /#{namespace_project_issue_path project.namespace, project, issue}/
end
end
@@ -231,7 +231,7 @@ describe Notify do
end
it 'contains a link to the issue' do
- is_expected.to have_body_text /#{project_issue_path project, issue}/
+ is_expected.to have_body_text /#{namespace_project_issue_path project.namespace, project, issue}/
end
end
@@ -260,7 +260,7 @@ describe Notify do
end
it 'contains a link to the issue' do
- is_expected.to have_body_text /#{project_issue_path project, issue}/
+ is_expected.to have_body_text /#{namespace_project_issue_path project.namespace, project, issue}/
end
end
@@ -282,7 +282,7 @@ describe Notify do
end
it 'contains a link to the new merge request' do
- is_expected.to have_body_text /#{project_merge_request_path(project, merge_request)}/
+ is_expected.to have_body_text /#{namespace_project_merge_request_path(project.namespace, project, merge_request)}/
end
it 'contains the source branch for the merge request' do
@@ -331,7 +331,7 @@ describe Notify do
end
it 'contains a link to the merge request' do
- is_expected.to have_body_text /#{project_merge_request_path project, merge_request}/
+ is_expected.to have_body_text /#{namespace_project_merge_request_path project.namespace, project, merge_request}/
end
end
@@ -360,7 +360,7 @@ describe Notify do
end
it 'contains a link to the merge request' do
- is_expected.to have_body_text /#{project_merge_request_path project, merge_request}/
+ is_expected.to have_body_text /#{namespace_project_merge_request_path project.namespace, project, merge_request}/
end
end
@@ -385,7 +385,7 @@ describe Notify do
end
it 'contains a link to the merge request' do
- is_expected.to have_body_text /#{project_merge_request_path project, merge_request}/
+ is_expected.to have_body_text /#{namespace_project_merge_request_path project.namespace, project, merge_request}/
end
end
end
@@ -477,7 +477,7 @@ describe Notify do
describe 'on a merge request' do
let(:merge_request) { create(:merge_request, source_project: project, target_project: project) }
- let(:note_on_merge_request_path) { project_merge_request_path(project, merge_request, anchor: "note_#{note.id}") }
+ let(:note_on_merge_request_path) { namespace_project_merge_request_path(project.namespace, project, merge_request, anchor: "note_#{note.id}") }
before(:each) { allow(note).to receive(:noteable).and_return(merge_request) }
subject { Notify.note_merge_request_email(recipient.id, note.id) }
@@ -496,7 +496,7 @@ describe Notify do
describe 'on an issue' do
let(:issue) { create(:issue, project: project) }
- let(:note_on_issue_path) { project_issue_path(project, issue, anchor: "note_#{note.id}") }
+ let(:note_on_issue_path) { namespace_project_issue_path(project.namespace, project, issue, anchor: "note_#{note.id}") }
before(:each) { allow(note).to receive(:noteable).and_return(issue) }
subject { Notify.note_issue_email(recipient.id, note.id) }
@@ -568,7 +568,7 @@ describe Notify do
let(:user) { create(:user) }
let(:compare) { Gitlab::Git::Compare.new(project.repository.raw_repository, sample_image_commit.id, sample_commit.id) }
let(:commits) { Commit.decorate(compare.commits) }
- let(:diff_path) { project_compare_path(project, from: commits.first, to: commits.last) }
+ let(:diff_path) { namespace_project_compare_path(project.namespace, project, from: commits.first, to: commits.last) }
subject { Notify.repository_push_email(project.id, 'devs@company.name', user.id, 'master', compare) }
@@ -604,7 +604,7 @@ describe Notify do
let(:user) { create(:user) }
let(:compare) { Gitlab::Git::Compare.new(project.repository.raw_repository, sample_commit.parent_id, sample_commit.id) }
let(:commits) { Commit.decorate(compare.commits) }
- let(:diff_path) { project_commit_path(project, commits.first) }
+ let(:diff_path) { namespace_project_commit_path(project.namespace, project, commits.first) }
subject { Notify.repository_push_email(project.id, 'devs@company.name', user.id, 'master', compare) }
diff --git a/spec/models/project_services/gitlab_issue_tracker_service_spec.rb b/spec/models/project_services/gitlab_issue_tracker_service_spec.rb
new file mode 100644
index 00000000000..c474f4a2d95
--- /dev/null
+++ b/spec/models/project_services/gitlab_issue_tracker_service_spec.rb
@@ -0,0 +1,60 @@
+# == Schema Information
+#
+# Table name: services
+#
+# id :integer not null, primary key
+# type :string(255)
+# title :string(255)
+# project_id :integer
+# created_at :datetime
+# updated_at :datetime
+# active :boolean default(FALSE), not null
+# properties :text
+# template :boolean default(FALSE)
+#
+require 'spec_helper'
+
+describe GitlabIssueTrackerService do
+ describe "Associations" do
+ it { is_expected.to belong_to :project }
+ it { is_expected.to have_one :service_hook }
+ end
+
+
+ describe 'project and issue urls' do
+ let(:project) { create(:project) }
+
+ context 'with absolute urls' do
+ before do
+ @service = project.create_gitlab_issue_tracker_service(active: true)
+ end
+
+ after do
+ @service.destroy!
+ end
+
+ it 'should give the correct path' do
+ expect(@service.project_url).to eq("/#{project.path_with_namespace}/issues")
+ expect(@service.new_issue_url).to eq("/#{project.path_with_namespace}/issues/new")
+ expect(@service.issue_url(432)).to eq("/#{project.path_with_namespace}/issues/432")
+ end
+ end
+
+ context 'with enabled relative urls' do
+ before do
+ Settings.gitlab.stub(:relative_url_root).and_return("/gitlab/root")
+ @service = project.create_gitlab_issue_tracker_service(active: true)
+ end
+
+ after do
+ @service.destroy!
+ end
+
+ it 'should give the correct path' do
+ expect(@service.project_url).to eq("/gitlab/root/#{project.path_with_namespace}/issues")
+ expect(@service.new_issue_url).to eq("/gitlab/root/#{project.path_with_namespace}/issues/new")
+ expect(@service.issue_url(432)).to eq("/gitlab/root/#{project.path_with_namespace}/issues/432")
+ end
+ end
+ end
+end
diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb
index ad7a0f0a1e3..a9df6f137b7 100644
--- a/spec/models/project_spec.rb
+++ b/spec/models/project_spec.rb
@@ -168,7 +168,7 @@ describe Project do
@project = create(:project, name: 'gitlabhq', namespace: @group)
end
- it { expect(@project.to_param).to eq('gitlab/gitlabhq') }
+ it { expect(@project.to_param).to eq('gitlabhq') }
end
end
diff --git a/spec/requests/api/files_spec.rb b/spec/requests/api/files_spec.rb
index cfac7d289ec..bab8888a631 100644
--- a/spec/requests/api/files_spec.rb
+++ b/spec/requests/api/files_spec.rb
@@ -98,13 +98,33 @@ describe API::API, api: true do
expect(response.status).to eq(400)
end
- it "should return a 400 if satellite fails to create file" do
- Gitlab::Satellite::EditFileAction.any_instance.stub(
- commit!: false,
- )
+ it 'should return a 400 if the checkout fails' do
+ Gitlab::Satellite::EditFileAction.any_instance.stub(:commit!)
+ .and_raise(Gitlab::Satellite::CheckoutFailed)
put api("/projects/#{project.id}/repository/files", user), valid_params
expect(response.status).to eq(400)
+
+ ref = valid_params[:branch_name]
+ expect(response.body).to match("ref '#{ref}' could not be checked out")
+ end
+
+ it 'should return a 409 if the file was not modified' do
+ Gitlab::Satellite::EditFileAction.any_instance.stub(:commit!)
+ .and_raise(Gitlab::Satellite::CommitFailed)
+
+ put api("/projects/#{project.id}/repository/files", user), valid_params
+ expect(response.status).to eq(409)
+ expect(response.body).to match("Maybe there was nothing to commit?")
+ end
+
+ it 'should return a 409 if the push fails' do
+ Gitlab::Satellite::EditFileAction.any_instance.stub(:commit!)
+ .and_raise(Gitlab::Satellite::PushFailed)
+
+ put api("/projects/#{project.id}/repository/files", user), valid_params
+ expect(response.status).to eq(409)
+ expect(response.body).to match("Maybe the file was changed by another process?")
end
end
diff --git a/spec/routing/admin_routing_spec.rb b/spec/routing/admin_routing_spec.rb
index 92542df52fd..bf8abcfb00f 100644
--- a/spec/routing/admin_routing_spec.rb
+++ b/spec/routing/admin_routing_spec.rb
@@ -71,7 +71,7 @@ describe Admin::ProjectsController, "routing" do
end
it "to #show" do
- expect(get("/admin/projects/gitlab")).to route_to('admin/projects#show', id: 'gitlab')
+ expect(get("/admin/projects/gitlab")).to route_to('admin/projects#show', namespace_id: 'gitlab')
end
end
diff --git a/spec/routing/project_routing_spec.rb b/spec/routing/project_routing_spec.rb
index 6b587345597..4308a765b56 100644
--- a/spec/routing/project_routing_spec.rb
+++ b/spec/routing/project_routing_spec.rb
@@ -25,31 +25,31 @@ shared_examples 'RESTful project resources' do
let(:actions) { [:index, :create, :new, :edit, :show, :update, :destroy] }
it 'to #index' do
- expect(get("/gitlab/gitlabhq/#{controller}")).to route_to("projects/#{controller}#index", project_id: 'gitlab/gitlabhq') if actions.include?(:index)
+ expect(get("/gitlab/gitlabhq/#{controller}")).to route_to("projects/#{controller}#index", namespace_id: 'gitlab', project_id: 'gitlabhq') if actions.include?(:index)
end
it 'to #create' do
- expect(post("/gitlab/gitlabhq/#{controller}")).to route_to("projects/#{controller}#create", project_id: 'gitlab/gitlabhq') if actions.include?(:create)
+ expect(post("/gitlab/gitlabhq/#{controller}")).to route_to("projects/#{controller}#create", namespace_id: 'gitlab', project_id: 'gitlabhq') if actions.include?(:create)
end
it 'to #new' do
- expect(get("/gitlab/gitlabhq/#{controller}/new")).to route_to("projects/#{controller}#new", project_id: 'gitlab/gitlabhq') if actions.include?(:new)
+ expect(get("/gitlab/gitlabhq/#{controller}/new")).to route_to("projects/#{controller}#new", namespace_id: 'gitlab', project_id: 'gitlabhq') if actions.include?(:new)
end
it 'to #edit' do
- expect(get("/gitlab/gitlabhq/#{controller}/1/edit")).to route_to("projects/#{controller}#edit", project_id: 'gitlab/gitlabhq', id: '1') if actions.include?(:edit)
+ expect(get("/gitlab/gitlabhq/#{controller}/1/edit")).to route_to("projects/#{controller}#edit", namespace_id: 'gitlab', project_id: 'gitlabhq', id: '1') if actions.include?(:edit)
end
it 'to #show' do
- expect(get("/gitlab/gitlabhq/#{controller}/1")).to route_to("projects/#{controller}#show", project_id: 'gitlab/gitlabhq', id: '1') if actions.include?(:show)
+ expect(get("/gitlab/gitlabhq/#{controller}/1")).to route_to("projects/#{controller}#show", namespace_id: 'gitlab', project_id: 'gitlabhq', id: '1') if actions.include?(:show)
end
it 'to #update' do
- expect(put("/gitlab/gitlabhq/#{controller}/1")).to route_to("projects/#{controller}#update", project_id: 'gitlab/gitlabhq', id: '1') if actions.include?(:update)
+ expect(put("/gitlab/gitlabhq/#{controller}/1")).to route_to("projects/#{controller}#update", namespace_id: 'gitlab', project_id: 'gitlabhq', id: '1') if actions.include?(:update)
end
it 'to #destroy' do
- expect(delete("/gitlab/gitlabhq/#{controller}/1")).to route_to("projects/#{controller}#destroy", project_id: 'gitlab/gitlabhq', id: '1') if actions.include?(:destroy)
+ expect(delete("/gitlab/gitlabhq/#{controller}/1")).to route_to("projects/#{controller}#destroy", namespace_id: 'gitlab', project_id: 'gitlabhq', id: '1') if actions.include?(:destroy)
end
end
@@ -71,28 +71,28 @@ describe ProjectsController, 'routing' do
end
it 'to #edit' do
- expect(get('/gitlab/gitlabhq/edit')).to route_to('projects#edit', id: 'gitlab/gitlabhq')
+ expect(get('/gitlab/gitlabhq/edit')).to route_to('projects#edit', namespace_id: 'gitlab', id: 'gitlabhq')
end
it 'to #autocomplete_sources' do
- expect(get('/gitlab/gitlabhq/autocomplete_sources')).to route_to('projects#autocomplete_sources', id: 'gitlab/gitlabhq')
+ expect(get('/gitlab/gitlabhq/autocomplete_sources')).to route_to('projects#autocomplete_sources', namespace_id: 'gitlab', id: 'gitlabhq')
end
it 'to #show' do
- expect(get('/gitlab/gitlabhq')).to route_to('projects#show', id: 'gitlab/gitlabhq')
+ expect(get('/gitlab/gitlabhq')).to route_to('projects#show', namespace_id: 'gitlab', id: 'gitlabhq')
end
it 'to #update' do
- expect(put('/gitlab/gitlabhq')).to route_to('projects#update', id: 'gitlab/gitlabhq')
+ expect(put('/gitlab/gitlabhq')).to route_to('projects#update', namespace_id: 'gitlab', id: 'gitlabhq')
end
it 'to #destroy' do
- expect(delete('/gitlab/gitlabhq')).to route_to('projects#destroy', id: 'gitlab/gitlabhq')
+ expect(delete('/gitlab/gitlabhq')).to route_to('projects#destroy', namespace_id: 'gitlab', id: 'gitlabhq')
end
it 'to #markdown_preview' do
expect(post('/gitlab/gitlabhq/markdown_preview')).to(
- route_to('projects#markdown_preview', id: 'gitlab/gitlabhq')
+ route_to('projects#markdown_preview', namespace_id: 'gitlab', id: 'gitlabhq')
)
end
end
@@ -105,11 +105,11 @@ end
# DELETE /:project_id/wikis/:id(.:format) projects/wikis#destroy
describe Projects::WikisController, 'routing' do
it 'to #pages' do
- expect(get('/gitlab/gitlabhq/wikis/pages')).to route_to('projects/wikis#pages', project_id: 'gitlab/gitlabhq')
+ expect(get('/gitlab/gitlabhq/wikis/pages')).to route_to('projects/wikis#pages', namespace_id: 'gitlab', project_id: 'gitlabhq')
end
it 'to #history' do
- expect(get('/gitlab/gitlabhq/wikis/1/history')).to route_to('projects/wikis#history', project_id: 'gitlab/gitlabhq', id: '1')
+ expect(get('/gitlab/gitlabhq/wikis/1/history')).to route_to('projects/wikis#history', namespace_id: 'gitlab', project_id: 'gitlabhq', id: '1')
end
it_behaves_like 'RESTful project resources' do
@@ -124,43 +124,43 @@ end
# edit_project_repository GET /:project_id/repository/edit(.:format) projects/repositories#edit
describe Projects::RepositoriesController, 'routing' do
it 'to #archive' do
- expect(get('/gitlab/gitlabhq/repository/archive')).to route_to('projects/repositories#archive', project_id: 'gitlab/gitlabhq')
+ expect(get('/gitlab/gitlabhq/repository/archive')).to route_to('projects/repositories#archive', namespace_id: 'gitlab', project_id: 'gitlabhq')
end
it 'to #archive format:zip' do
- expect(get('/gitlab/gitlabhq/repository/archive.zip')).to route_to('projects/repositories#archive', project_id: 'gitlab/gitlabhq', format: 'zip')
+ expect(get('/gitlab/gitlabhq/repository/archive.zip')).to route_to('projects/repositories#archive', namespace_id: 'gitlab', project_id: 'gitlabhq', format: 'zip')
end
it 'to #archive format:tar.bz2' do
- expect(get('/gitlab/gitlabhq/repository/archive.tar.bz2')).to route_to('projects/repositories#archive', project_id: 'gitlab/gitlabhq', format: 'tar.bz2')
+ expect(get('/gitlab/gitlabhq/repository/archive.tar.bz2')).to route_to('projects/repositories#archive', namespace_id: 'gitlab', project_id: 'gitlabhq', format: 'tar.bz2')
end
it 'to #show' do
- expect(get('/gitlab/gitlabhq/repository')).to route_to('projects/repositories#show', project_id: 'gitlab/gitlabhq')
+ expect(get('/gitlab/gitlabhq/repository')).to route_to('projects/repositories#show', namespace_id: 'gitlab', project_id: 'gitlabhq')
end
end
describe Projects::BranchesController, 'routing' do
it 'to #branches' do
- expect(get('/gitlab/gitlabhq/branches')).to route_to('projects/branches#index', project_id: 'gitlab/gitlabhq')
- expect(delete('/gitlab/gitlabhq/branches/feature%2345')).to route_to('projects/branches#destroy', project_id: 'gitlab/gitlabhq', id: 'feature#45')
- expect(delete('/gitlab/gitlabhq/branches/feature%2B45')).to route_to('projects/branches#destroy', project_id: 'gitlab/gitlabhq', id: 'feature+45')
- expect(delete('/gitlab/gitlabhq/branches/feature@45')).to route_to('projects/branches#destroy', project_id: 'gitlab/gitlabhq', id: 'feature@45')
- expect(delete('/gitlab/gitlabhq/branches/feature%2345/foo/bar/baz')).to route_to('projects/branches#destroy', project_id: 'gitlab/gitlabhq', id: 'feature#45/foo/bar/baz')
- expect(delete('/gitlab/gitlabhq/branches/feature%2B45/foo/bar/baz')).to route_to('projects/branches#destroy', project_id: 'gitlab/gitlabhq', id: 'feature+45/foo/bar/baz')
- expect(delete('/gitlab/gitlabhq/branches/feature@45/foo/bar/baz')).to route_to('projects/branches#destroy', project_id: 'gitlab/gitlabhq', id: 'feature@45/foo/bar/baz')
+ expect(get('/gitlab/gitlabhq/branches')).to route_to('projects/branches#index', namespace_id: 'gitlab', project_id: 'gitlabhq')
+ expect(delete('/gitlab/gitlabhq/branches/feature%2345')).to route_to('projects/branches#destroy', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'feature#45')
+ expect(delete('/gitlab/gitlabhq/branches/feature%2B45')).to route_to('projects/branches#destroy', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'feature+45')
+ expect(delete('/gitlab/gitlabhq/branches/feature@45')).to route_to('projects/branches#destroy', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'feature@45')
+ expect(delete('/gitlab/gitlabhq/branches/feature%2345/foo/bar/baz')).to route_to('projects/branches#destroy', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'feature#45/foo/bar/baz')
+ expect(delete('/gitlab/gitlabhq/branches/feature%2B45/foo/bar/baz')).to route_to('projects/branches#destroy', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'feature+45/foo/bar/baz')
+ expect(delete('/gitlab/gitlabhq/branches/feature@45/foo/bar/baz')).to route_to('projects/branches#destroy', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'feature@45/foo/bar/baz')
end
end
describe Projects::TagsController, 'routing' do
it 'to #tags' do
- expect(get('/gitlab/gitlabhq/tags')).to route_to('projects/tags#index', project_id: 'gitlab/gitlabhq')
- expect(delete('/gitlab/gitlabhq/tags/feature%2345')).to route_to('projects/tags#destroy', project_id: 'gitlab/gitlabhq', id: 'feature#45')
- expect(delete('/gitlab/gitlabhq/tags/feature%2B45')).to route_to('projects/tags#destroy', project_id: 'gitlab/gitlabhq', id: 'feature+45')
- expect(delete('/gitlab/gitlabhq/tags/feature@45')).to route_to('projects/tags#destroy', project_id: 'gitlab/gitlabhq', id: 'feature@45')
- expect(delete('/gitlab/gitlabhq/tags/feature%2345/foo/bar/baz')).to route_to('projects/tags#destroy', project_id: 'gitlab/gitlabhq', id: 'feature#45/foo/bar/baz')
- expect(delete('/gitlab/gitlabhq/tags/feature%2B45/foo/bar/baz')).to route_to('projects/tags#destroy', project_id: 'gitlab/gitlabhq', id: 'feature+45/foo/bar/baz')
- expect(delete('/gitlab/gitlabhq/tags/feature@45/foo/bar/baz')).to route_to('projects/tags#destroy', project_id: 'gitlab/gitlabhq', id: 'feature@45/foo/bar/baz')
+ expect(get('/gitlab/gitlabhq/tags')).to route_to('projects/tags#index', namespace_id: 'gitlab', project_id: 'gitlabhq')
+ expect(delete('/gitlab/gitlabhq/tags/feature%2345')).to route_to('projects/tags#destroy', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'feature#45')
+ expect(delete('/gitlab/gitlabhq/tags/feature%2B45')).to route_to('projects/tags#destroy', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'feature+45')
+ expect(delete('/gitlab/gitlabhq/tags/feature@45')).to route_to('projects/tags#destroy', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'feature@45')
+ expect(delete('/gitlab/gitlabhq/tags/feature%2345/foo/bar/baz')).to route_to('projects/tags#destroy', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'feature#45/foo/bar/baz')
+ expect(delete('/gitlab/gitlabhq/tags/feature%2B45/foo/bar/baz')).to route_to('projects/tags#destroy', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'feature+45/foo/bar/baz')
+ expect(delete('/gitlab/gitlabhq/tags/feature@45/foo/bar/baz')).to route_to('projects/tags#destroy', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'feature@45/foo/bar/baz')
end
end
@@ -193,19 +193,19 @@ end
# logs_file_project_ref GET /:project_id/refs/:id/logs_tree/:path(.:format) refs#logs_tree
describe Projects::RefsController, 'routing' do
it 'to #switch' do
- expect(get('/gitlab/gitlabhq/refs/switch')).to route_to('projects/refs#switch', project_id: 'gitlab/gitlabhq')
+ expect(get('/gitlab/gitlabhq/refs/switch')).to route_to('projects/refs#switch', namespace_id: 'gitlab', project_id: 'gitlabhq')
end
it 'to #logs_tree' do
- expect(get('/gitlab/gitlabhq/refs/stable/logs_tree')).to route_to('projects/refs#logs_tree', project_id: 'gitlab/gitlabhq', id: 'stable')
- expect(get('/gitlab/gitlabhq/refs/feature%2345/logs_tree')).to route_to('projects/refs#logs_tree', project_id: 'gitlab/gitlabhq', id: 'feature#45')
- expect(get('/gitlab/gitlabhq/refs/feature%2B45/logs_tree')).to route_to('projects/refs#logs_tree', project_id: 'gitlab/gitlabhq', id: 'feature+45')
- expect(get('/gitlab/gitlabhq/refs/feature@45/logs_tree')).to route_to('projects/refs#logs_tree', project_id: 'gitlab/gitlabhq', id: 'feature@45')
- expect(get('/gitlab/gitlabhq/refs/stable/logs_tree/foo/bar/baz')).to route_to('projects/refs#logs_tree', project_id: 'gitlab/gitlabhq', id: 'stable', path: 'foo/bar/baz')
- expect(get('/gitlab/gitlabhq/refs/feature%2345/logs_tree/foo/bar/baz')).to route_to('projects/refs#logs_tree', project_id: 'gitlab/gitlabhq', id: 'feature#45', path: 'foo/bar/baz')
- expect(get('/gitlab/gitlabhq/refs/feature%2B45/logs_tree/foo/bar/baz')).to route_to('projects/refs#logs_tree', project_id: 'gitlab/gitlabhq', id: 'feature+45', path: 'foo/bar/baz')
- expect(get('/gitlab/gitlabhq/refs/feature@45/logs_tree/foo/bar/baz')).to route_to('projects/refs#logs_tree', project_id: 'gitlab/gitlabhq', id: 'feature@45', path: 'foo/bar/baz')
- expect(get('/gitlab/gitlabhq/refs/stable/logs_tree/files.scss')).to route_to('projects/refs#logs_tree', project_id: 'gitlab/gitlabhq', id: 'stable', path: 'files.scss')
+ expect(get('/gitlab/gitlabhq/refs/stable/logs_tree')).to route_to('projects/refs#logs_tree', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'stable')
+ expect(get('/gitlab/gitlabhq/refs/feature%2345/logs_tree')).to route_to('projects/refs#logs_tree', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'feature#45')
+ expect(get('/gitlab/gitlabhq/refs/feature%2B45/logs_tree')).to route_to('projects/refs#logs_tree', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'feature+45')
+ expect(get('/gitlab/gitlabhq/refs/feature@45/logs_tree')).to route_to('projects/refs#logs_tree', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'feature@45')
+ expect(get('/gitlab/gitlabhq/refs/stable/logs_tree/foo/bar/baz')).to route_to('projects/refs#logs_tree', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'stable', path: 'foo/bar/baz')
+ expect(get('/gitlab/gitlabhq/refs/feature%2345/logs_tree/foo/bar/baz')).to route_to('projects/refs#logs_tree', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'feature#45', path: 'foo/bar/baz')
+ expect(get('/gitlab/gitlabhq/refs/feature%2B45/logs_tree/foo/bar/baz')).to route_to('projects/refs#logs_tree', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'feature+45', path: 'foo/bar/baz')
+ expect(get('/gitlab/gitlabhq/refs/feature@45/logs_tree/foo/bar/baz')).to route_to('projects/refs#logs_tree', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'feature@45', path: 'foo/bar/baz')
+ expect(get('/gitlab/gitlabhq/refs/stable/logs_tree/files.scss')).to route_to('projects/refs#logs_tree', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'stable', path: 'files.scss')
end
end
@@ -223,31 +223,31 @@ end
# DELETE /:project_id/merge_requests/:id(.:format) projects/merge_requests#destroy
describe Projects::MergeRequestsController, 'routing' do
it 'to #diffs' do
- expect(get('/gitlab/gitlabhq/merge_requests/1/diffs')).to route_to('projects/merge_requests#diffs', project_id: 'gitlab/gitlabhq', id: '1')
+ expect(get('/gitlab/gitlabhq/merge_requests/1/diffs')).to route_to('projects/merge_requests#diffs', namespace_id: 'gitlab', project_id: 'gitlabhq', id: '1')
end
it 'to #automerge' do
expect(post('/gitlab/gitlabhq/merge_requests/1/automerge')).to route_to(
'projects/merge_requests#automerge',
- project_id: 'gitlab/gitlabhq', id: '1'
+ namespace_id: 'gitlab', project_id: 'gitlabhq', id: '1'
)
end
it 'to #automerge_check' do
- expect(get('/gitlab/gitlabhq/merge_requests/1/automerge_check')).to route_to('projects/merge_requests#automerge_check', project_id: 'gitlab/gitlabhq', id: '1')
+ expect(get('/gitlab/gitlabhq/merge_requests/1/automerge_check')).to route_to('projects/merge_requests#automerge_check', namespace_id: 'gitlab', project_id: 'gitlabhq', id: '1')
end
it 'to #branch_from' do
- expect(get('/gitlab/gitlabhq/merge_requests/branch_from')).to route_to('projects/merge_requests#branch_from', project_id: 'gitlab/gitlabhq')
+ expect(get('/gitlab/gitlabhq/merge_requests/branch_from')).to route_to('projects/merge_requests#branch_from', namespace_id: 'gitlab', project_id: 'gitlabhq')
end
it 'to #branch_to' do
- expect(get('/gitlab/gitlabhq/merge_requests/branch_to')).to route_to('projects/merge_requests#branch_to', project_id: 'gitlab/gitlabhq')
+ expect(get('/gitlab/gitlabhq/merge_requests/branch_to')).to route_to('projects/merge_requests#branch_to', namespace_id: 'gitlab', project_id: 'gitlabhq')
end
it 'to #show' do
- expect(get('/gitlab/gitlabhq/merge_requests/1.diff')).to route_to('projects/merge_requests#show', project_id: 'gitlab/gitlabhq', id: '1', format: 'diff')
- expect(get('/gitlab/gitlabhq/merge_requests/1.patch')).to route_to('projects/merge_requests#show', project_id: 'gitlab/gitlabhq', id: '1', format: 'patch')
+ expect(get('/gitlab/gitlabhq/merge_requests/1.diff')).to route_to('projects/merge_requests#show', namespace_id: 'gitlab', project_id: 'gitlabhq', id: '1', format: 'diff')
+ expect(get('/gitlab/gitlabhq/merge_requests/1.patch')).to route_to('projects/merge_requests#show', namespace_id: 'gitlab', project_id: 'gitlabhq', id: '1', format: 'patch')
end
it_behaves_like 'RESTful project resources' do
@@ -266,35 +266,35 @@ end
# DELETE /:project_id/snippets/:id(.:format) snippets#destroy
describe SnippetsController, 'routing' do
it 'to #raw' do
- expect(get('/gitlab/gitlabhq/snippets/1/raw')).to route_to('projects/snippets#raw', project_id: 'gitlab/gitlabhq', id: '1')
+ expect(get('/gitlab/gitlabhq/snippets/1/raw')).to route_to('projects/snippets#raw', namespace_id: 'gitlab', project_id: 'gitlabhq', id: '1')
end
it 'to #index' do
- expect(get('/gitlab/gitlabhq/snippets')).to route_to('projects/snippets#index', project_id: 'gitlab/gitlabhq')
+ expect(get('/gitlab/gitlabhq/snippets')).to route_to('projects/snippets#index', namespace_id: 'gitlab', project_id: 'gitlabhq')
end
it 'to #create' do
- expect(post('/gitlab/gitlabhq/snippets')).to route_to('projects/snippets#create', project_id: 'gitlab/gitlabhq')
+ expect(post('/gitlab/gitlabhq/snippets')).to route_to('projects/snippets#create', namespace_id: 'gitlab', project_id: 'gitlabhq')
end
it 'to #new' do
- expect(get('/gitlab/gitlabhq/snippets/new')).to route_to('projects/snippets#new', project_id: 'gitlab/gitlabhq')
+ expect(get('/gitlab/gitlabhq/snippets/new')).to route_to('projects/snippets#new', namespace_id: 'gitlab', project_id: 'gitlabhq')
end
it 'to #edit' do
- expect(get('/gitlab/gitlabhq/snippets/1/edit')).to route_to('projects/snippets#edit', project_id: 'gitlab/gitlabhq', id: '1')
+ expect(get('/gitlab/gitlabhq/snippets/1/edit')).to route_to('projects/snippets#edit', namespace_id: 'gitlab', project_id: 'gitlabhq', id: '1')
end
it 'to #show' do
- expect(get('/gitlab/gitlabhq/snippets/1')).to route_to('projects/snippets#show', project_id: 'gitlab/gitlabhq', id: '1')
+ expect(get('/gitlab/gitlabhq/snippets/1')).to route_to('projects/snippets#show', namespace_id: 'gitlab', project_id: 'gitlabhq', id: '1')
end
it 'to #update' do
- expect(put('/gitlab/gitlabhq/snippets/1')).to route_to('projects/snippets#update', project_id: 'gitlab/gitlabhq', id: '1')
+ expect(put('/gitlab/gitlabhq/snippets/1')).to route_to('projects/snippets#update', namespace_id: 'gitlab', project_id: 'gitlabhq', id: '1')
end
it 'to #destroy' do
- expect(delete('/gitlab/gitlabhq/snippets/1')).to route_to('projects/snippets#destroy', project_id: 'gitlab/gitlabhq', id: '1')
+ expect(delete('/gitlab/gitlabhq/snippets/1')).to route_to('projects/snippets#destroy', namespace_id: 'gitlab', project_id: 'gitlabhq', id: '1')
end
end
@@ -304,7 +304,7 @@ end
# project_hook DELETE /:project_id/hooks/:id(.:format) hooks#destroy
describe Projects::HooksController, 'routing' do
it 'to #test' do
- expect(get('/gitlab/gitlabhq/hooks/1/test')).to route_to('projects/hooks#test', project_id: 'gitlab/gitlabhq', id: '1')
+ expect(get('/gitlab/gitlabhq/hooks/1/test')).to route_to('projects/hooks#test', namespace_id: 'gitlab', project_id: 'gitlabhq', id: '1')
end
it_behaves_like 'RESTful project resources' do
@@ -316,10 +316,10 @@ end
# project_commit GET /:project_id/commit/:id(.:format) commit#show {id: /[[:alnum:]]{6,40}/, project_id: /[^\/]+/}
describe Projects::CommitController, 'routing' do
it 'to #show' do
- expect(get('/gitlab/gitlabhq/commit/4246fb')).to route_to('projects/commit#show', project_id: 'gitlab/gitlabhq', id: '4246fb')
- expect(get('/gitlab/gitlabhq/commit/4246fb.diff')).to route_to('projects/commit#show', project_id: 'gitlab/gitlabhq', id: '4246fb', format: 'diff')
- expect(get('/gitlab/gitlabhq/commit/4246fb.patch')).to route_to('projects/commit#show', project_id: 'gitlab/gitlabhq', id: '4246fb', format: 'patch')
- expect(get('/gitlab/gitlabhq/commit/4246fbd13872934f72a8fd0d6fb1317b47b59cb5')).to route_to('projects/commit#show', project_id: 'gitlab/gitlabhq', id: '4246fbd13872934f72a8fd0d6fb1317b47b59cb5')
+ expect(get('/gitlab/gitlabhq/commit/4246fb')).to route_to('projects/commit#show', namespace_id: 'gitlab', project_id: 'gitlabhq', id: '4246fb')
+ expect(get('/gitlab/gitlabhq/commit/4246fb.diff')).to route_to('projects/commit#show', namespace_id: 'gitlab', project_id: 'gitlabhq', id: '4246fb', format: 'diff')
+ expect(get('/gitlab/gitlabhq/commit/4246fb.patch')).to route_to('projects/commit#show', namespace_id: 'gitlab', project_id: 'gitlabhq', id: '4246fb', format: 'patch')
+ expect(get('/gitlab/gitlabhq/commit/4246fbd13872934f72a8fd0d6fb1317b47b59cb5')).to route_to('projects/commit#show', namespace_id: 'gitlab', project_id: 'gitlabhq', id: '4246fbd13872934f72a8fd0d6fb1317b47b59cb5')
end
end
@@ -334,7 +334,7 @@ describe Projects::CommitsController, 'routing' do
end
it 'to #show' do
- expect(get('/gitlab/gitlabhq/commits/master.atom')).to route_to('projects/commits#show', project_id: 'gitlab/gitlabhq', id: 'master', format: 'atom')
+ expect(get('/gitlab/gitlabhq/commits/master.atom')).to route_to('projects/commits#show', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'master', format: 'atom')
end
end
@@ -369,7 +369,7 @@ end
# project_labels GET /:project_id/labels(.:format) labels#index
describe Projects::LabelsController, 'routing' do
it 'to #index' do
- expect(get('/gitlab/gitlabhq/labels')).to route_to('projects/labels#index', project_id: 'gitlab/gitlabhq')
+ expect(get('/gitlab/gitlabhq/labels')).to route_to('projects/labels#index', namespace_id: 'gitlab', project_id: 'gitlabhq')
end
end
@@ -385,7 +385,7 @@ end
# DELETE /:project_id/issues/:id(.:format) issues#destroy
describe Projects::IssuesController, 'routing' do
it 'to #bulk_update' do
- expect(post('/gitlab/gitlabhq/issues/bulk_update')).to route_to('projects/issues#bulk_update', project_id: 'gitlab/gitlabhq')
+ expect(post('/gitlab/gitlabhq/issues/bulk_update')).to route_to('projects/issues#bulk_update', namespace_id: 'gitlab', project_id: 'gitlabhq')
end
it_behaves_like 'RESTful project resources' do
@@ -407,26 +407,26 @@ end
# project_blame GET /:project_id/blame/:id(.:format) blame#show {id: /.+/, project_id: /[^\/]+/}
describe Projects::BlameController, 'routing' do
it 'to #show' do
- expect(get('/gitlab/gitlabhq/blame/master/app/models/project.rb')).to route_to('projects/blame#show', project_id: 'gitlab/gitlabhq', id: 'master/app/models/project.rb')
- expect(get('/gitlab/gitlabhq/blame/master/files.scss')).to route_to('projects/blame#show', project_id: 'gitlab/gitlabhq', id: 'master/files.scss')
+ expect(get('/gitlab/gitlabhq/blame/master/app/models/project.rb')).to route_to('projects/blame#show', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'master/app/models/project.rb')
+ expect(get('/gitlab/gitlabhq/blame/master/files.scss')).to route_to('projects/blame#show', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'master/files.scss')
end
end
# project_blob GET /:project_id/blob/:id(.:format) blob#show {id: /.+/, project_id: /[^\/]+/}
describe Projects::BlobController, 'routing' do
it 'to #show' do
- expect(get('/gitlab/gitlabhq/blob/master/app/models/project.rb')).to route_to('projects/blob#show', project_id: 'gitlab/gitlabhq', id: 'master/app/models/project.rb')
- expect(get('/gitlab/gitlabhq/blob/master/app/models/compare.rb')).to route_to('projects/blob#show', project_id: 'gitlab/gitlabhq', id: 'master/app/models/compare.rb')
- expect(get('/gitlab/gitlabhq/blob/master/app/models/diff.js')).to route_to('projects/blob#show', project_id: 'gitlab/gitlabhq', id: 'master/app/models/diff.js')
- expect(get('/gitlab/gitlabhq/blob/master/files.scss')).to route_to('projects/blob#show', project_id: 'gitlab/gitlabhq', id: 'master/files.scss')
+ expect(get('/gitlab/gitlabhq/blob/master/app/models/project.rb')).to route_to('projects/blob#show', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'master/app/models/project.rb')
+ expect(get('/gitlab/gitlabhq/blob/master/app/models/compare.rb')).to route_to('projects/blob#show', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'master/app/models/compare.rb')
+ expect(get('/gitlab/gitlabhq/blob/master/app/models/diff.js')).to route_to('projects/blob#show', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'master/app/models/diff.js')
+ expect(get('/gitlab/gitlabhq/blob/master/files.scss')).to route_to('projects/blob#show', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'master/files.scss')
end
end
# project_tree GET /:project_id/tree/:id(.:format) tree#show {id: /.+/, project_id: /[^\/]+/}
describe Projects::TreeController, 'routing' do
it 'to #show' do
- expect(get('/gitlab/gitlabhq/tree/master/app/models/project.rb')).to route_to('projects/tree#show', project_id: 'gitlab/gitlabhq', id: 'master/app/models/project.rb')
- expect(get('/gitlab/gitlabhq/tree/master/files.scss')).to route_to('projects/tree#show', project_id: 'gitlab/gitlabhq', id: 'master/files.scss')
+ expect(get('/gitlab/gitlabhq/tree/master/app/models/project.rb')).to route_to('projects/tree#show', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'master/app/models/project.rb')
+ expect(get('/gitlab/gitlabhq/tree/master/files.scss')).to route_to('projects/tree#show', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'master/files.scss')
end
end
@@ -434,14 +434,14 @@ describe Projects::BlobController, 'routing' do
it 'to #edit' do
expect(get('/gitlab/gitlabhq/edit/master/app/models/project.rb')).to(
route_to('projects/blob#edit',
- project_id: 'gitlab/gitlabhq',
+ namespace_id: 'gitlab', project_id: 'gitlabhq',
id: 'master/app/models/project.rb'))
end
it 'to #preview' do
expect(post('/gitlab/gitlabhq/preview/master/app/models/project.rb')).to(
route_to('projects/blob#preview',
- project_id: 'gitlab/gitlabhq',
+ namespace_id: 'gitlab', project_id: 'gitlabhq',
id: 'master/app/models/project.rb'))
end
end
@@ -451,39 +451,39 @@ end
# project_compare /:project_id/compare/:from...:to(.:format) compare#show {from: /.+/, to: /.+/, id: /[^\/]+/, project_id: /[^\/]+/}
describe Projects::CompareController, 'routing' do
it 'to #index' do
- expect(get('/gitlab/gitlabhq/compare')).to route_to('projects/compare#index', project_id: 'gitlab/gitlabhq')
+ expect(get('/gitlab/gitlabhq/compare')).to route_to('projects/compare#index', namespace_id: 'gitlab', project_id: 'gitlabhq')
end
it 'to #compare' do
- expect(post('/gitlab/gitlabhq/compare')).to route_to('projects/compare#create', project_id: 'gitlab/gitlabhq')
+ expect(post('/gitlab/gitlabhq/compare')).to route_to('projects/compare#create', namespace_id: 'gitlab', project_id: 'gitlabhq')
end
it 'to #show' do
- expect(get('/gitlab/gitlabhq/compare/master...stable')).to route_to('projects/compare#show', project_id: 'gitlab/gitlabhq', from: 'master', to: 'stable')
- expect(get('/gitlab/gitlabhq/compare/issue/1234...stable')).to route_to('projects/compare#show', project_id: 'gitlab/gitlabhq', from: 'issue/1234', to: 'stable')
+ expect(get('/gitlab/gitlabhq/compare/master...stable')).to route_to('projects/compare#show', namespace_id: 'gitlab', project_id: 'gitlabhq', from: 'master', to: 'stable')
+ expect(get('/gitlab/gitlabhq/compare/issue/1234...stable')).to route_to('projects/compare#show', namespace_id: 'gitlab', project_id: 'gitlabhq', from: 'issue/1234', to: 'stable')
end
end
describe Projects::NetworkController, 'routing' do
it 'to #show' do
- expect(get('/gitlab/gitlabhq/network/master')).to route_to('projects/network#show', project_id: 'gitlab/gitlabhq', id: 'master')
- expect(get('/gitlab/gitlabhq/network/master.json')).to route_to('projects/network#show', project_id: 'gitlab/gitlabhq', id: 'master', format: 'json')
+ expect(get('/gitlab/gitlabhq/network/master')).to route_to('projects/network#show', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'master')
+ expect(get('/gitlab/gitlabhq/network/master.json')).to route_to('projects/network#show', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'master', format: 'json')
end
end
describe Projects::GraphsController, 'routing' do
it 'to #show' do
- expect(get('/gitlab/gitlabhq/graphs/master')).to route_to('projects/graphs#show', project_id: 'gitlab/gitlabhq', id: 'master')
+ expect(get('/gitlab/gitlabhq/graphs/master')).to route_to('projects/graphs#show', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'master')
end
end
describe Projects::ForksController, 'routing' do
it 'to #new' do
- expect(get('/gitlab/gitlabhq/fork/new')).to route_to('projects/forks#new', project_id: 'gitlab/gitlabhq')
+ expect(get('/gitlab/gitlabhq/fork/new')).to route_to('projects/forks#new', namespace_id: 'gitlab', project_id: 'gitlabhq')
end
it 'to #create' do
- expect(post('/gitlab/gitlabhq/fork')).to route_to('projects/forks#create', project_id: 'gitlab/gitlabhq')
+ expect(post('/gitlab/gitlabhq/fork')).to route_to('projects/forks#create', namespace_id: 'gitlab', project_id: 'gitlabhq')
end
end
@@ -491,6 +491,6 @@ end
describe Projects::AvatarsController, 'routing' do
it 'to #destroy' do
expect(delete('/gitlab/gitlabhq/avatar')).to route_to(
- 'projects/avatars#destroy', project_id: 'gitlab/gitlabhq')
+ 'projects/avatars#destroy', namespace_id: 'gitlab', project_id: 'gitlabhq')
end
end
diff --git a/spec/services/git_push_service_spec.rb b/spec/services/git_push_service_spec.rb
index 9d0e41e4e8a..9924935094e 100644
--- a/spec/services/git_push_service_spec.rb
+++ b/spec/services/git_push_service_spec.rb
@@ -79,7 +79,17 @@ describe GitPushService do
it { is_expected.to include(id: @commit.id) }
it { is_expected.to include(message: @commit.safe_message) }
it { is_expected.to include(timestamp: @commit.date.xmlschema) }
- it { is_expected.to include(url: "#{Gitlab.config.gitlab.url}/#{project.to_param}/commit/#{@commit.id}") }
+ it do
+ is_expected.to include(
+ url: [
+ Gitlab.config.gitlab.url,
+ project.namespace.to_param,
+ project.to_param,
+ 'commit',
+ @commit.id
+ ].join('/')
+ )
+ end
context "with a author" do
subject { @push_data[:commits].first[:author] }
diff --git a/spec/services/projects/transfer_service_spec.rb b/spec/services/projects/transfer_service_spec.rb
index 46fb5f5fae5..5650626fb18 100644
--- a/spec/services/projects/transfer_service_spec.rb
+++ b/spec/services/projects/transfer_service_spec.rb
@@ -8,7 +8,7 @@ describe Projects::TransferService do
context 'namespace -> namespace' do
before do
group.add_owner(user)
- @result = transfer_project(project, user, namespace_id: group.id)
+ @result = transfer_project(project, user, new_namespace_id: group.id)
end
it { expect(@result).to be_truthy }
@@ -17,7 +17,7 @@ describe Projects::TransferService do
context 'namespace -> no namespace' do
before do
- @result = transfer_project(project, user, namespace_id: nil)
+ @result = transfer_project(project, user, new_namespace_id: nil)
end
it { expect(@result).not_to be_nil } # { result.should be_false } passes on nil
@@ -27,7 +27,7 @@ describe Projects::TransferService do
context 'namespace -> not allowed namespace' do
before do
- @result = transfer_project(project, user, namespace_id: group.id)
+ @result = transfer_project(project, user, new_namespace_id: group.id)
end
it { expect(@result).not_to be_nil } # { result.should be_false } passes on nil