Commit 7f833087 authored by GitLab Bot's avatar GitLab Bot

Add latest changes from gitlab-org/gitlab@master

parent bbe24306
...@@ -163,7 +163,7 @@ export const createCommitPayload = ({ ...@@ -163,7 +163,7 @@ export const createCommitPayload = ({
}); });
export const createNewMergeRequestUrl = (projectUrl, source, target) => export const createNewMergeRequestUrl = (projectUrl, source, target) =>
`${projectUrl}/-/merge_requests/new?merge_request[source_branch]=${source}&merge_request[target_branch]=${target}&nav_source=webide`; `${projectUrl}/merge_requests/new?merge_request[source_branch]=${source}&merge_request[target_branch]=${target}&nav_source=webide`;
const sortTreesByTypeAndName = (a, b) => { const sortTreesByTypeAndName = (a, b) => {
if (a.type === 'tree' && b.type === 'blob') { if (a.type === 'tree' && b.type === 'blob') {
......
...@@ -32,17 +32,17 @@ import { __ } from './locale'; ...@@ -32,17 +32,17 @@ import { __ } from './locale';
// //
// <ul class="nav-links merge-request-tabs"> // <ul class="nav-links merge-request-tabs">
// <li class="notes-tab active"> // <li class="notes-tab active">
// <a data-action="notes" data-target="#notes" data-toggle="tab" href="/foo/bar/-/merge_requests/1"> // <a data-action="notes" data-target="#notes" data-toggle="tab" href="/foo/bar/merge_requests/1">
// Discussion // Discussion
// </a> // </a>
// </li> // </li>
// <li class="commits-tab"> // <li class="commits-tab">
// <a data-action="commits" data-target="#commits" data-toggle="tab" href="/foo/bar/-/merge_requests/1/commits"> // <a data-action="commits" data-target="#commits" data-toggle="tab" href="/foo/bar/merge_requests/1/commits">
// Commits // Commits
// </a> // </a>
// </li> // </li>
// <li class="diffs-tab"> // <li class="diffs-tab">
// <a data-action="diffs" data-target="#diffs" data-toggle="tab" href="/foo/bar/-/merge_requests/1/diffs"> // <a data-action="diffs" data-target="#diffs" data-toggle="tab" href="/foo/bar/merge_requests/1/diffs">
// Diffs // Diffs
// </a> // </a>
// </li> // </li>
...@@ -260,17 +260,17 @@ export default class MergeRequestTabs { ...@@ -260,17 +260,17 @@ export default class MergeRequestTabs {
// //
// Examples: // Examples:
// //
// location.pathname # => "/namespace/project/-/merge_requests/1" // location.pathname # => "/namespace/project/merge_requests/1"
// setCurrentAction('diffs') // setCurrentAction('diffs')
// location.pathname # => "/namespace/project/-/merge_requests/1/diffs" // location.pathname # => "/namespace/project/merge_requests/1/diffs"
// //
// location.pathname # => "/namespace/project/-/merge_requests/1/diffs" // location.pathname # => "/namespace/project/merge_requests/1/diffs"
// setCurrentAction('show') // setCurrentAction('show')
// location.pathname # => "/namespace/project/-/merge_requests/1" // location.pathname # => "/namespace/project/merge_requests/1"
// //
// location.pathname # => "/namespace/project/-/merge_requests/1/diffs" // location.pathname # => "/namespace/project/merge_requests/1/diffs"
// setCurrentAction('commits') // setCurrentAction('commits')
// location.pathname # => "/namespace/project/-/merge_requests/1/commits" // location.pathname # => "/namespace/project/merge_requests/1/commits"
// //
// Returns the new URL String // Returns the new URL String
setCurrentAction(action) { setCurrentAction(action) {
......
...@@ -104,10 +104,10 @@ export default { ...@@ -104,10 +104,10 @@ export default {
return acc.concat({ return acc.concat({
name, name,
path, path,
to: `/-/tree/${this.ref}${path}`, to: `/tree/${this.ref}${path}`,
}); });
}, },
[{ name: this.projectShortPath, path: '/', to: `/-/tree/${this.ref}/` }], [{ name: this.projectShortPath, path: '/', to: `/tree/${this.ref}/` }],
); );
}, },
canCreateMrFromFork() { canCreateMrFromFork() {
......
...@@ -15,7 +15,7 @@ export default { ...@@ -15,7 +15,7 @@ export default {
const splitArray = this.path.split('/'); const splitArray = this.path.split('/');
splitArray.pop(); splitArray.pop();
return { path: `/-/tree/${this.commitRef}/${splitArray.join('/')}` }; return { path: `/tree/${this.commitRef}/${splitArray.join('/')}` };
}, },
}, },
methods: { methods: {
......
...@@ -84,7 +84,7 @@ export default { ...@@ -84,7 +84,7 @@ export default {
}, },
computed: { computed: {
routerLinkTo() { routerLinkTo() {
return this.isFolder ? { path: `/-/tree/${this.ref}/${this.path}` } : null; return this.isFolder ? { path: `/tree/${this.ref}/${this.path}` } : null;
}, },
iconName() { iconName() {
return `fa-${getIconName(this.type, this.path)}`; return `fa-${getIconName(this.type, this.path)}`;
......
...@@ -12,7 +12,7 @@ export default function createRouter(base, baseRef) { ...@@ -12,7 +12,7 @@ export default function createRouter(base, baseRef) {
base: joinPaths(gon.relative_url_root || '', base), base: joinPaths(gon.relative_url_root || '', base),
routes: [ routes: [
{ {
path: `/-/tree/${baseRef}(/.*)?`, path: `/tree/${baseRef}(/.*)?`,
name: 'treePath', name: 'treePath',
component: TreePage, component: TreePage,
props: route => ({ props: route => ({
......
...@@ -79,10 +79,10 @@ export default { ...@@ -79,10 +79,10 @@ export default {
return this.projectPath.indexOf('/') === 0 ? '' : `${gon.relative_url_root}/`; return this.projectPath.indexOf('/') === 0 ? '' : `${gon.relative_url_root}/`;
}, },
fullOldPath() { fullOldPath() {
return `${this.basePath}${this.projectPath}/-/raw/${this.oldSha}/${this.oldPath}`; return `${this.basePath}${this.projectPath}/raw/${this.oldSha}/${this.oldPath}`;
}, },
fullNewPath() { fullNewPath() {
return `${this.basePath}${this.projectPath}/-/raw/${this.newSha}/${this.newPath}`; return `${this.basePath}${this.projectPath}/raw/${this.newSha}/${this.newPath}`;
}, },
}, },
}; };
......
...@@ -43,8 +43,6 @@ module SubmoduleHelper ...@@ -43,8 +43,6 @@ module SubmoduleHelper
elsif github_dot_com_url?(url) elsif github_dot_com_url?(url)
standard_links('github.com', namespace, project, submodule_item_id) standard_links('github.com', namespace, project, submodule_item_id)
elsif gitlab_dot_com_url?(url) elsif gitlab_dot_com_url?(url)
# This need to be replaced with /-/tree routing once one is landed on
# GitLab.com. Issue https://gitlab.com/gitlab-org/gitlab/issues/42764
standard_links('gitlab.com', namespace, project, submodule_item_id) standard_links('gitlab.com', namespace, project, submodule_item_id)
else else
[sanitize_submodule_url(url), nil] [sanitize_submodule_url(url), nil]
......
...@@ -38,13 +38,13 @@ module TreeHelper ...@@ -38,13 +38,13 @@ module TreeHelper
# many paths, as with a repository tree that has thousands of items. # many paths, as with a repository tree that has thousands of items.
def fast_project_blob_path(project, blob_path) def fast_project_blob_path(project, blob_path)
ActionDispatch::Journey::Router::Utils.escape_path( ActionDispatch::Journey::Router::Utils.escape_path(
File.join(relative_url_root, project.path_with_namespace, '-', 'blob', blob_path) File.join(relative_url_root, project.path_with_namespace, 'blob', blob_path)
) )
end end
def fast_project_tree_path(project, tree_path) def fast_project_tree_path(project, tree_path)
ActionDispatch::Journey::Router::Utils.escape_path( ActionDispatch::Journey::Router::Utils.escape_path(
File.join(relative_url_root, project.path_with_namespace, '-', 'tree', tree_path) File.join(relative_url_root, project.path_with_namespace, 'tree', tree_path)
) )
end end
......
...@@ -62,7 +62,7 @@ module ChatMessage ...@@ -62,7 +62,7 @@ module ChatMessage
end end
def merge_request_url def merge_request_url
"#{project_url}/-/merge_requests/#{merge_request_iid}" "#{project_url}/merge_requests/#{merge_request_iid}"
end end
# overridden in EE # overridden in EE
......
...@@ -184,7 +184,7 @@ class HipchatService < Service ...@@ -184,7 +184,7 @@ class HipchatService < Service
description = obj_attr[:description] description = obj_attr[:description]
title = render_line(obj_attr[:title]) title = render_line(obj_attr[:title])
merge_request_url = "#{project_url}/-/merge_requests/#{merge_request_id}" merge_request_url = "#{project_url}/merge_requests/#{merge_request_id}"
merge_request_link = "<a href=\"#{merge_request_url}\">merge request !#{merge_request_id}</a>" merge_request_link = "<a href=\"#{merge_request_url}\">merge request !#{merge_request_id}</a>"
message = ["#{user_name} #{state} #{merge_request_link} in " \ message = ["#{user_name} #{state} #{merge_request_link} in " \
"#{project_link}: <b>#{title}</b>"] "#{project_link}: <b>#{title}</b>"]
......
---
title: Move merge request routes under /-/ scope
merge_request: 21126
author:
type: deprecated
---
title: Move repository routes under - scope
merge_request: 20455
author:
type: deprecated
...@@ -271,82 +271,6 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do ...@@ -271,82 +271,6 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
end end
end end
resources :merge_requests, concerns: :awardable, except: [:new, :create, :show], constraints: { id: /\d+/ } do
member do
get :show # Insert this first to ensure redirections using merge_requests#show match this route
get :commit_change_content
post :merge
post :cancel_auto_merge
get :pipeline_status
get :ci_environments_status
post :toggle_subscription
post :remove_wip
post :assign_related_issues
get :discussions, format: :json
post :rebase
get :test_reports
get :exposed_artifacts
scope constraints: ->(req) { req.format == :json }, as: :json do
get :commits
get :pipelines
get :diffs, to: 'merge_requests/diffs#show'
get :diffs_batch, to: 'merge_requests/diffs#diffs_batch'
get :diffs_metadata, to: 'merge_requests/diffs#diffs_metadata'
get :widget, to: 'merge_requests/content#widget'
get :cached_widget, to: 'merge_requests/content#cached_widget'
end
scope action: :show do
get :commits, defaults: { tab: 'commits' }
get :pipelines, defaults: { tab: 'pipelines' }
get :diffs, defaults: { tab: 'diffs' }
end
get :diff_for_path, controller: 'merge_requests/diffs'
scope controller: 'merge_requests/conflicts' do
get :conflicts, action: :show
get :conflict_for_path
post :resolve_conflicts
end
end
collection do
get :diff_for_path
post :bulk_update
end
resources :discussions, only: [:show], constraints: { id: /\h{40}/ } do
member do
post :resolve
delete :resolve, action: :unresolve
end
end
end
scope path: 'merge_requests', controller: 'merge_requests/creations' do
post '', action: :create, as: nil
scope path: 'new', as: :new_merge_request do
get '', action: :new
scope constraints: ->(req) { req.format == :json }, as: :json do
get :diffs
get :pipelines
end
scope action: :new do
get :diffs, defaults: { tab: 'diffs' }
get :pipelines, defaults: { tab: 'pipelines' }
end
get :diff_for_path
get :branch_from
get :branch_to
end
end
# The wiki routing contains wildcard characters so # The wiki routing contains wildcard characters so
# its preferable to keep it below all other project routes # its preferable to keep it below all other project routes
draw :wiki draw :wiki
...@@ -404,6 +328,82 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do ...@@ -404,6 +328,82 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
end end
end end
resources :merge_requests, concerns: :awardable, except: [:new, :create, :show], constraints: { id: /\d+/ } do
member do
get :show # Insert this first to ensure redirections using merge_requests#show match this route
get :commit_change_content
post :merge
post :cancel_auto_merge
get :pipeline_status
get :ci_environments_status
post :toggle_subscription
post :remove_wip
post :assign_related_issues
get :discussions, format: :json
post :rebase
get :test_reports
get :exposed_artifacts
scope constraints: ->(req) { req.format == :json }, as: :json do
get :commits
get :pipelines
get :diffs, to: 'merge_requests/diffs#show'
get :diffs_batch, to: 'merge_requests/diffs#diffs_batch'
get :diffs_metadata, to: 'merge_requests/diffs#diffs_metadata'
get :widget, to: 'merge_requests/content#widget'
get :cached_widget, to: 'merge_requests/content#cached_widget'
end
scope action: :show do
get :commits, defaults: { tab: 'commits' }
get :pipelines, defaults: { tab: 'pipelines' }
get :diffs, defaults: { tab: 'diffs' }
end
get :diff_for_path, controller: 'merge_requests/diffs'
scope controller: 'merge_requests/conflicts' do
get :conflicts, action: :show
get :conflict_for_path
post :resolve_conflicts
end
end
collection do
get :diff_for_path
post :bulk_update
end
resources :discussions, only: [:show], constraints: { id: /\h{40}/ } do
member do
post :resolve
delete :resolve, action: :unresolve
end
end
end
scope path: 'merge_requests', controller: 'merge_requests/creations' do
post '', action: :create, as: nil
scope path: 'new', as: :new_merge_request do
get '', action: :new
scope constraints: ->(req) { req.format == :json }, as: :json do
get :diffs
get :pipelines
end
scope action: :new do
get :diffs, defaults: { tab: 'diffs' }
get :pipelines, defaults: { tab: 'pipelines' }
end
get :diff_for_path
get :branch_from
get :branch_to
end
end
resources :pipelines, only: [:index, :new, :create, :show] do resources :pipelines, only: [:index, :new, :create, :show] do
collection do collection do
resource :pipelines_settings, path: 'settings', only: [:show, :update] resource :pipelines_settings, path: 'settings', only: [:show, :update]
...@@ -557,8 +557,7 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do ...@@ -557,8 +557,7 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
:forks, :group_links, :import, :avatar, :mirror, :forks, :group_links, :import, :avatar, :mirror,
:cycle_analytics, :mattermost, :variables, :triggers, :cycle_analytics, :mattermost, :variables, :triggers,
:environments, :protected_environments, :error_tracking, :environments, :protected_environments, :error_tracking,
:serverless, :clusters, :audit_events, :wikis, :merge_requests, :serverless, :clusters, :audit_events, :wikis)
:blob, :tree, :raw, :blame, :commits, :create_dir, :find_file, :files)
end end
# rubocop: disable Cop/PutProjectRoutesUnderScope # rubocop: disable Cop/PutProjectRoutesUnderScope
......
...@@ -65,7 +65,7 @@ scope format: false do ...@@ -65,7 +65,7 @@ scope format: false do
resources :protected_tags, only: [:index, :show, :create, :update, :destroy] resources :protected_tags, only: [:index, :show, :create, :update, :destroy]
end end
scope path: '-', constraints: { id: /[^\0]+/ } do scope constraints: { id: /[^\0]+/ } do
scope controller: :blob do scope controller: :blob do
get '/new/*id', action: :new, as: :new_blob get '/new/*id', action: :new, as: :new_blob
post '/create/*id', action: :create, as: :create_blob post '/create/*id', action: :create, as: :create_blob
......
...@@ -152,18 +152,11 @@ module Banzai ...@@ -152,18 +152,11 @@ module Banzai
def rebuild_relative_uri(uri) def rebuild_relative_uri(uri)
file_path = nested_file_path_if_exists(uri) file_path = nested_file_path_if_exists(uri)
resource_type = uri_type(file_path)
# Repository routes are under /-/ scope now.
# Since we craft a path without using route helpers we must
# ensure - is added here.
prefix = '-' if %w(tree blob raw commits).include?(resource_type.to_s)
uri.path = [ uri.path = [
relative_url_root, relative_url_root,
project.full_path, project.full_path,
prefix, uri_type(file_path),
resource_type,
Addressable::URI.escape(ref).gsub('#', '%23'), Addressable::URI.escape(ref).gsub('#', '%23'),
Addressable::URI.escape(file_path) Addressable::URI.escape(file_path)
].compact.join('/').squeeze('/').chomp('/') ].compact.join('/').squeeze('/').chomp('/')
......
...@@ -12,12 +12,10 @@ module Gitlab ...@@ -12,12 +12,10 @@ module Gitlab
def link_dependencies def link_dependencies
link_json('ImportPath') do |path| link_json('ImportPath') do |path|
case path case path
when %r{\A(?<repo>github\.com/#{REPO_REGEX})/(?<path>.+)\z}
"https://#{$~[:repo]}/tree/master/#{$~[:path]}"
when %r{\A(?<repo>gitlab\.com/#{NESTED_REPO_REGEX})\.git/(?<path>.+)\z}, when %r{\A(?<repo>gitlab\.com/#{NESTED_REPO_REGEX})\.git/(?<path>.+)\z},
%r{\A(?<repo>gitlab\.com/#{REPO_REGEX})/(?<path>.+)\z} %r{\A(?<repo>git(lab|hub)\.com/#{REPO_REGEX})/(?<path>.+)\z}
"https://#{$~[:repo]}/-/tree/master/#{$~[:path]}" "https://#{$~[:repo]}/tree/master/#{$~[:path]}"
when /\Agolang\.org/ when /\Agolang\.org/
"https://godoc.org/#{path}" "https://godoc.org/#{path}"
else else
......
...@@ -60,7 +60,7 @@ module Gitlab ...@@ -60,7 +60,7 @@ module Gitlab
end end
meta_import_tag = tag :meta, name: 'go-import', content: "#{import_prefix} git #{repository_url}" meta_import_tag = tag :meta, name: 'go-import', content: "#{import_prefix} git #{repository_url}"
meta_source_tag = tag :meta, name: 'go-source', content: "#{import_prefix} #{project_url} #{project_url}/-/tree/#{branch}{/dir} #{project_url}/-/blob/#{branch}{/dir}/{file}#L{line}" meta_source_tag = tag :meta, name: 'go-source', content: "#{import_prefix} #{project_url} #{project_url}/tree/#{branch}{/dir} #{project_url}/blob/#{branch}{/dir}/{file}#L{line}"
head_tag = content_tag :head, meta_import_tag + meta_source_tag head_tag = content_tag :head, meta_import_tag + meta_source_tag
html_tag = content_tag :html, head_tag + body_tag html_tag = content_tag :html, head_tag + body_tag
[html_tag, 200] [html_tag, 200]
......
...@@ -13328,6 +13328,9 @@ msgstr "" ...@@ -13328,6 +13328,9 @@ msgstr ""
msgid "ProductivityAanalytics|Merge requests" msgid "ProductivityAanalytics|Merge requests"
msgstr "" msgstr ""
msgid "ProductivityAanalytics|is earlier than the allowed minimum date"
msgstr ""
msgid "ProductivityAnalytics|Ascending" msgid "ProductivityAnalytics|Ascending"
msgstr "" msgstr ""
...@@ -13361,6 +13364,9 @@ msgstr "" ...@@ -13361,6 +13364,9 @@ msgstr ""
msgid "ProductivityAnalytics|Trendline" msgid "ProductivityAnalytics|Trendline"
msgstr "" msgstr ""
msgid "ProductivityAnalytics|is earlier than the given merged at after date"
msgstr ""
msgid "Profile" msgid "Profile"
msgstr "" msgstr ""
......
...@@ -72,7 +72,7 @@ describe MetricsDashboard do ...@@ -72,7 +72,7 @@ describe MetricsDashboard do
it 'includes project_blob_path only for project dashboards' do it 'includes project_blob_path only for project dashboards' do
expect(system_dashboard['project_blob_path']).to be_nil expect(system_dashboard['project_blob_path']).to be_nil
expect(project_dashboard['project_blob_path']).to eq("/#{project.namespace.path}/#{project.name}/-/blob/master/.gitlab/dashboards/test.yml") expect(project_dashboard['project_blob_path']).to eq("/#{project.namespace.path}/#{project.name}/blob/master/.gitlab/dashboards/test.yml")
end end
describe 'project permissions' do describe 'project permissions' do
......
...@@ -36,7 +36,7 @@ describe Projects::BlameController do ...@@ -36,7 +36,7 @@ describe Projects::BlameController do
it 'redirects' do it 'redirects' do
expect(subject) expect(subject)
.to redirect_to("/#{project.full_path}/-/tree/master") .to redirect_to("/#{project.full_path}/tree/master")
end end
end end
......
...@@ -33,7 +33,7 @@ describe Projects::BlobController do ...@@ -33,7 +33,7 @@ describe Projects::BlobController do
it 'redirects' do it 'redirects' do
expect(subject) expect(subject)
.to redirect_to("/#{project.full_path}/-/tree/master") .to redirect_to("/#{project.full_path}/tree/master")
end end
end end
...@@ -115,7 +115,7 @@ describe Projects::BlobController do ...@@ -115,7 +115,7 @@ describe Projects::BlobController do
it 'redirects' do it 'redirects' do
expect(subject) expect(subject)
.to redirect_to("/#{project.full_path}/-/tree/markdown/doc") .to redirect_to("/#{project.full_path}/tree/markdown/doc")
end end
end end
end end
......
...@@ -37,7 +37,7 @@ describe Projects::BranchesController do ...@@ -37,7 +37,7 @@ describe Projects::BranchesController do
let(:ref) { "master" } let(:ref) { "master" }
it 'redirects' do it 'redirects' do
expect(subject) expect(subject)
.to redirect_to("/#{project.full_path}/-/tree/merge_branch") .to redirect_to("/#{project.full_path}/tree/merge_branch")
end end
end end
...@@ -46,7 +46,7 @@ describe Projects::BranchesController do ...@@ -46,7 +46,7 @@ describe Projects::BranchesController do
let(:ref) { "master" } let(:ref) { "master" }
it 'redirects' do it 'redirects' do
expect(subject) expect(subject)
.to redirect_to("/#{project.full_path}/-/tree/alert('merge');") .to redirect_to("/#{project.full_path}/tree/alert('merge');")
end end
end end
...@@ -88,7 +88,7 @@ describe Projects::BranchesController do ...@@ -88,7 +88,7 @@ describe Projects::BranchesController do
} }
expect(subject) expect(subject)
.to redirect_to("/#{project.full_path}/-/tree/1-feature-branch") .to redirect_to("/#{project.full_path}/tree/1-feature-branch")
end end
it 'posts a system note' do it 'posts a system note' do
......
...@@ -69,7 +69,7 @@ describe Projects::RawController do ...@@ -69,7 +69,7 @@ describe Projects::RawController do
env: :raw_blob_request_limit, env: :raw_blob_request_limit,
remote_ip: '0.0.0.0', remote_ip: '0.0.0.0',
request_method: 'GET', request_method: 'GET',
path: "/#{project.full_path}/-/raw/#{file_path}" path: "/#{project.full_path}/raw/#{file_path}"
} }
expect(Gitlab::AuthLogger).to receive(:error).with(attributes).once expect(Gitlab::AuthLogger).to receive(:error).with(attributes).once
......
...@@ -45,7 +45,7 @@ describe Projects::TreeController do ...@@ -45,7 +45,7 @@ describe Projects::TreeController do
it 'redirects' do it 'redirects' do
expect(subject) expect(subject)
.to redirect_to("/#{project.full_path}/-/tree/master") .to redirect_to("/#{project.full_path}/tree/master")
end end
end end
...@@ -60,7 +60,7 @@ describe Projects::TreeController do ...@@ -60,7 +60,7 @@ describe Projects::TreeController do
it 'redirects' do it 'redirects' do
expect(subject) expect(subject)
.to redirect_to("/#{project.full_path}/-/tree/empty-branch") .to redirect_to("/#{project.full_path}/tree/empty-branch")
end end
end end
...@@ -125,7 +125,7 @@ describe Projects::TreeController do ...@@ -125,7 +125,7 @@ describe Projects::TreeController do
let(:id) { 'master/README.md' } let(:id) { 'master/README.md' }
it 'redirects' do it 'redirects' do
redirect_url = "/#{project.full_path}/-/blob/master/README.md" redirect_url = "/#{project.full_path}/blob/master/README.md"
expect(subject) expect(subject)
.to redirect_to(redirect_url) .to redirect_to(redirect_url)
end end
...@@ -153,7 +153,7 @@ describe Projects::TreeController do ...@@ -153,7 +153,7 @@ describe Projects::TreeController do
it 'redirects to the new directory' do it 'redirects to the new directory' do
expect(subject) expect(subject)
.to redirect_to("/#{project.full_path}/-/tree/#{branch_name}/#{path}") .to redirect_to("/#{project.full_path}/tree/#{branch_name}/#{path}")
expect(flash[:notice]).to eq('The directory has been successfully created.') expect(flash[:notice]).to eq('The directory has been successfully created.')
end end
end end
...@@ -164,7 +164,7 @@ describe Projects::TreeController do ...@@ -164,7 +164,7 @@ describe Projects::TreeController do
it 'does not allow overwriting of existing files' do it 'does not allow overwriting of existing files' do
expect(subject) expect(subject)
.to redirect_to("/#{project.full_path}/-/tree/master") .to redirect_to("/#{project.full_path}/tree/master")
expect(flash[:alert]).to eq('A file with this name already exists') expect(flash[:alert]).to eq('A file with this name already exists')
end end
end end
......
...@@ -943,7 +943,7 @@ describe ProjectsController do ...@@ -943,7 +943,7 @@ describe ProjectsController do
end end
it 'renders JSON body with image links expanded' do it 'renders JSON body with image links expanded' do
expanded_path = "/#{project_with_repo.full_path}/-/raw/master/files/images/logo-white.png" expanded_path = "/#{project_with_repo.full_path}/raw/master/files/images/logo-white.png"
post :preview_markdown, params: preview_markdown_params post :preview_markdown, params: preview_markdown_params
......
...@@ -52,7 +52,7 @@ export const noteableDataMock = { ...@@ -52,7 +52,7 @@ export const noteableDataMock = {
time_estimate: 0, time_estimate: 0,
title: '14', title: '14',
total_time_spent: 0, total_time_spent: 0,
noteable_note_url: '/group/project/-/merge_requests/1#note_1', noteable_note_url: '/group/project/merge_requests/1#note_1',
updated_at: '2017-08-04T09:53:01.226Z', updated_at: '2017-08-04T09:53:01.226Z',
updated_by_id: 1, updated_by_id: 1,
web_url: '/gitlab-org/gitlab-foss/issues/26', web_url: '/gitlab-org/gitlab-foss/issues/26',
...@@ -101,8 +101,8 @@ export const individualNote = { ...@@ -101,8 +101,8 @@ export const individualNote = {
{ name: 'art', user: { id: 1, name: 'Root', username: 'root' } }, { name: 'art', user: { id: 1, name: 'Root', username: 'root' } },
], ],
toggle_award_path: '/gitlab-org/gitlab-foss/notes/1390/toggle_award_emoji', toggle_award_path: '/gitlab-org/gitlab-foss/notes/1390/toggle_award_emoji',
noteable_note_url: '/group/project/-/merge_requests/1#note_1', noteable_note_url: '/group/project/merge_requests/1#note_1',
note_url: '/group/project/-/merge_requests/1#note_1', note_url: '/group/project/merge_requests/1#note_1',
report_abuse_path: report_abuse_path:
'/abuse_reports/new?ref_url=http%3A%2F%2Flocalhost%3A3000%2Fgitlab-org%2Fgitlab-ce%2Fissues%2F26%23note_1390&user_id=1', '/abuse_reports/new?ref_url=http%3A%2F%2Flocalhost%3A3000%2Fgitlab-org%2Fgitlab-ce%2Fissues%2F26%23note_1390&user_id=1',
path: '/gitlab-org/gitlab-foss/notes/1390', path: '/gitlab-org/gitlab-foss/notes/1390',
...@@ -161,8 +161,8 @@ export const note = { ...@@ -161,8 +161,8 @@ export const note = {
}, },
], ],
toggle_award_path: '/gitlab-org/gitlab-foss/notes/546/toggle_award_emoji', toggle_award_path: '/gitlab-org/gitlab-foss/notes/546/toggle_award_emoji',
note_url: '/group/project/-/merge_requests/1#note_1', note_url: '/group/project/merge_requests/1#note_1',
noteable_note_url: '/group/project/-/merge_requests/1#note_1', noteable_note_url: '/group/project/merge_requests/1#note_1',
report_abuse_path: report_abuse_path:
'/abuse_reports/new?ref_url=http%3A%2F%2Flocalhost%3A3000%2Fgitlab-org%2Fgitlab-ce%2Fissues%2F7%23note_546&user_id=1', '/abuse_reports/new?ref_url=http%3A%2F%2Flocalhost%3A3000%2Fgitlab-org%2Fgitlab-ce%2Fissues%2F7%23note_546&user_id=1',
path: '/gitlab-org/gitlab-foss/notes/546', path: '/gitlab-org/gitlab-foss/notes/546',
...@@ -205,7 +205,7 @@ export const discussionMock = { ...@@ -205,7 +205,7 @@ export const discussionMock = {
discussion_id: '9e3bd2f71a01de45fd166e6719eb380ad9f270b1', discussion_id: '9e3bd2f71a01de45fd166e6719eb380ad9f270b1',
emoji_awardable: true, emoji_awardable: true,
award_emoji: [], award_emoji: [],
noteable_note_url: '/group/project/-/merge_requests/1#note_1', noteable_note_url: '/group/project/merge_requests/1#note_1',
toggle_award_path: '/gitlab-org/gitlab-foss/notes/1395/toggle_award_emoji', toggle_award_path: '/gitlab-org/gitlab-foss/notes/1395/toggle_award_emoji',
report_abuse_path: report_abuse_path:
'/abuse_reports/new?ref_url=http%3A%2F%2Flocalhost%3A3000%2Fgitlab-org%2Fgitlab-ce%2Fissues%2F26%23note_1395&user_id=1', '/abuse_reports/new?ref_url=http%3A%2F%2Flocalhost%3A3000%2Fgitlab-org%2Fgitlab-ce%2Fissues%2F26%23note_1395&user_id=1',
...@@ -253,7 +253,7 @@ export const discussionMock = { ...@@ -253,7 +253,7 @@ export const discussionMock = {
emoji_awardable: true, emoji_awardable: true,
award_emoji: [], award_emoji: [],
toggle_award_path: '/gitlab-org/gitlab-foss/notes/1396/toggle_award_emoji', toggle_award_path: '/gitlab-org/gitlab-foss/notes/1396/toggle_award_emoji',
noteable_note_url: '/group/project/-/merge_requests/1#note_1', noteable_note_url: '/group/project/merge_requests/1#note_1',
report_abuse_path: report_abuse_path:
'/abuse_reports/new?ref_url=http%3A%2F%2Flocalhost%3A3000%2Fgitlab-org%2Fgitlab-ce%2Fissues%2F26%23note_1396&user_id=1', '/abuse_reports/new?ref_url=http%3A%2F%2Flocalhost%3A3000%2Fgitlab-org%2Fgitlab-ce%2Fissues%2F26%23note_1396&user_id=1',
path: '/gitlab-org/gitlab-foss/notes/1396', path: '/gitlab-org/gitlab-foss/notes/1396',
...@@ -299,7 +299,7 @@ export const discussionMock = { ...@@ -299,7 +299,7 @@ export const discussionMock = {
discussion_id: '9e3bd2f71a01de45fd166e6719eb380ad9f270b1', discussion_id: '9e3bd2f71a01de45fd166e6719eb380ad9f270b1',
emoji_awardable: true, emoji_awardable: true,
award_emoji: [], award_emoji: [],
noteable_note_url: '/group/project/-/merge_requests/1#note_1', noteable_note_url: '/group/project/merge_requests/1#note_1',
toggle_award_path: '/gitlab-org/gitlab-foss/notes/1437/toggle_award_emoji', toggle_award_path: '/gitlab-org/gitlab-foss/notes/1437/toggle_award_emoji',
report_abuse_path: report_abuse_path:
'/abuse_reports/new?ref_url=http%3A%2F%2Flocalhost%3A3000%2Fgitlab-org%2Fgitlab-ce%2Fissues%2F26%23note_1437&user_id=1', '/abuse_reports/new?ref_url=http%3A%2F%2Flocalhost%3A3000%2Fgitlab-org%2Fgitlab-ce%2Fissues%2F26%23note_1437&user_id=1',
...@@ -349,7 +349,7 @@ export const loggedOutnoteableData = { ...@@ -349,7 +349,7 @@ export const loggedOutnoteableData = {
can_create_note: false, can_create_note: false,
can_update: false, can_update: false,
}, },
noteable_note_url: '/group/project/-/merge_requests/1#note_1', noteable_note_url: '/group/project/merge_requests/1#note_1',
create_note_path: '/gitlab-org/gitlab-foss/notes?target_id=98&target_type=issue', create_note_path: '/gitlab-org/gitlab-foss/notes?target_id=98&target_type=issue',
preview_note_path: '/gitlab-org/gitlab-foss/preview_markdown?target_id=98&target_type=Issue', preview_note_path: '/gitlab-org/gitlab-foss/preview_markdown?target_id=98&target_type=Issue',
}; };
...@@ -483,7 +483,7 @@ export const INDIVIDUAL_NOTE_RESPONSE_MAP = { ...@@ -483,7 +483,7 @@ export const INDIVIDUAL_NOTE_RESPONSE_MAP = {
}, },
}, },
], ],
noteable_note_url: '/group/project/-/merge_requests/1#note_1', noteable_note_url: '/group/project/merge_requests/1#note_1',
toggle_award_path: '/gitlab-org/gitlab-foss/notes/1390/toggle_award_emoji', toggle_award_path: '/gitlab-org/gitlab-foss/notes/1390/toggle_award_emoji',
report_abuse_path: report_abuse_path:
'/abuse_reports/new?ref_url=http%3A%2F%2Flocalhost%3A3000%2Fgitlab-org%2Fgitlab-ce%2Fissues%2F26%23note_1390\u0026user_id=1', '/abuse_reports/new?ref_url=http%3A%2F%2Flocalhost%3A3000%2Fgitlab-org%2Fgitlab-ce%2Fissues%2F26%23note_1390\u0026user_id=1',
...@@ -528,7 +528,7 @@ export const INDIVIDUAL_NOTE_RESPONSE_MAP = { ...@@ -528,7 +528,7 @@ export const INDIVIDUAL_NOTE_RESPONSE_MAP = {
discussion_id: '70d5c92a4039a36c70100c6691c18c27e4b0a790', discussion_id: '70d5c92a4039a36c70100c6691c18c27e4b0a790',
emoji_awardable: true, emoji_awardable: true,
award_emoji: [], award_emoji: [],
noteable_note_url: '/group/project/-/merge_requests/1#note_1', noteable_note_url: '/group/project/merge_requests/1#note_1',
toggle_award_path: '/gitlab-org/gitlab-foss/notes/1391/toggle_award_emoji', toggle_award_path: '/gitlab-org/gitlab-foss/notes/1391/toggle_award_emoji',
report_abuse_path: report_abuse_path:
'/abuse_reports/new?ref_url=http%3A%2F%2Flocalhost%3A3000%2Fgitlab-org%2Fgitlab-ce%2Fissues%2F26%23note_1391\u0026user_id=1', '/abuse_reports/new?ref_url=http%3A%2F%2Flocalhost%3A3000%2Fgitlab-org%2Fgitlab-ce%2Fissues%2F26%23note_1391\u0026user_id=1',
...@@ -583,7 +583,7 @@ export const INDIVIDUAL_NOTE_RESPONSE_MAP = { ...@@ -583,7 +583,7 @@ export const INDIVIDUAL_NOTE_RESPONSE_MAP = {
discussion_id: 'a3ed36e29b1957efb3b68c53e2d7a2b24b1df052', discussion_id: 'a3ed36e29b1957efb3b68c53e2d7a2b24b1df052',
emoji_awardable: true, emoji_awardable: true,
award_emoji: [], award_emoji: [],
noteable_note_url: '/group/project/-/merge_requests/1#note_1', noteable_note_url: '/group/project/merge_requests/1#note_1',
toggle_award_path: '/gitlab-org/gitlab-foss/notes/1471/toggle_award_emoji', toggle_award_path: '/gitlab-org/gitlab-foss/notes/1471/toggle_award_emoji',
report_abuse_path: report_abuse_path:
'/abuse_reports/new?ref_url=http%3A%2F%2Flocalhost%3A3000%2Fgitlab-org%2Fgitlab-ce%2Fissues%2F29%23note_1471\u0026user_id=1', '/abuse_reports/new?ref_url=http%3A%2F%2Flocalhost%3A3000%2Fgitlab-org%2Fgitlab-ce%2Fissues%2F29%23note_1471\u0026user_id=1',
...@@ -635,7 +635,7 @@ export const DISCUSSION_NOTE_RESPONSE_MAP = { ...@@ -635,7 +635,7 @@ export const DISCUSSION_NOTE_RESPONSE_MAP = {
emoji_awardable: true, emoji_awardable: true,
award_emoji: [], award_emoji: [],
toggle_award_path: '/gitlab-org/gitlab-foss/notes/1471/toggle_award_emoji', toggle_award_path: '/gitlab-org/gitlab-foss/notes/1471/toggle_award_emoji',
noteable_note_url: '/group/project/-/merge_requests/1#note_1', noteable_note_url: '/group/project/merge_requests/1#note_1',
report_abuse_path: report_abuse_path:
'/abuse_reports/new?ref_url=http%3A%2F%2Flocalhost%3A3000%2Fgitlab-org%2Fgitlab-ce%2Fissues%2F29%23note_1471\u0026user_id=1', '/abuse_reports/new?ref_url=http%3A%2F%2Flocalhost%3A3000%2Fgitlab-org%2Fgitlab-ce%2Fissues%2F29%23note_1471\u0026user_id=1',
path: '/gitlab-org/gitlab-foss/notes/1471', path: '/gitlab-org/gitlab-foss/notes/1471',
......
...@@ -30,8 +30,8 @@ describe('Repository parent row component', () => { ...@@ -30,8 +30,8 @@ describe('Repository parent row component', () => {
it.each` it.each`
path | to path | to
${'app'} | ${'/-/tree/master/'} ${'app'} | ${'/tree/master/'}
${'app/assets'} | ${'/-/tree/master/app'} ${'app/assets'} | ${'/tree/master/app'}
`('renders link in $path to $to', ({ path, to }) => { `('renders link in $path to $to', ({ path, to }) => {
factory(path); factory(path);
...@@ -46,7 +46,7 @@ describe('Repository parent row component', () => { ...@@ -46,7 +46,7 @@ describe('Repository parent row component', () => {
vm.find('td').trigger('click'); vm.find('td').trigger('click');
expect($router.push).toHaveBeenCalledWith({ expect($router.push).toHaveBeenCalledWith({
path: '/-/tree/master/app', path: '/tree/master/app',
}); });
}); });
...@@ -58,7 +58,7 @@ describe('Repository parent row component', () => { ...@@ -58,7 +58,7 @@ describe('Repository parent row component', () => {
vm.find('a').trigger('click'); vm.find('a').trigger('click');
expect($router.push).not.toHaveBeenCalledWith({ expect($router.push).not.toHaveBeenCalledWith({
path: '/-/tree/master/app', path: '/tree/master/app',
}); });
}); });
}); });
...@@ -83,7 +83,7 @@ describe('Repository table row component', () => { ...@@ -83,7 +83,7 @@ describe('Repository table row component', () => {
vm.trigger('click'); vm.trigger('click');
if (pushes) { if (pushes) {
expect($router.push).toHaveBeenCalledWith({ path: '/-/tree/master/test' }); expect($router.push).toHaveBeenCalledWith({ path: '/tree/master/test' });
} else { } else {
expect($router.push).not.toHaveBeenCalled(); expect($router.push).not.toHaveBeenCalled();
} }
......
...@@ -4,11 +4,11 @@ import createRouter from '~/repository/router'; ...@@ -4,11 +4,11 @@ import createRouter from '~/repository/router';
describe('Repository router spec', () => { describe('Repository router spec', () => {
it.each` it.each`
path | component | componentName path | component | componentName
${'/'} | ${IndexPage} | ${'IndexPage'} ${'/'} | ${IndexPage} | ${'IndexPage'}
${'/-/tree/master'} | ${TreePage} | ${'TreePage'} ${'/tree/master'} | ${TreePage} | ${'TreePage'}
${'/-/tree/master/app/assets'} | ${TreePage} | ${'TreePage'} ${'/tree/master/app/assets'} | ${TreePage} | ${'TreePage'}
${'/-/tree/123/app/assets'} | ${null} | ${'null'} ${'/tree/123/app/assets'} | ${null} | ${'null'}
`('sets component as $componentName for path "$path"', ({ path, component }) => { `('sets component as $componentName for path "$path"', ({ path, component }) => {
const router = createRouter('', 'master'); const router = createRouter('', 'master');
......
...@@ -51,7 +51,7 @@ describe AwardEmojiHelper do ...@@ -51,7 +51,7 @@ describe AwardEmojiHelper do
it 'returns correct url' do it 'returns correct url' do
@project = merge_request.project @project = merge_request.project
expected_url = "/#{@project.namespace.path}/#{@project.path}/-/merge_requests/#{merge_request.iid}/toggle_award_emoji" expected_url = "/#{@project.namespace.path}/#{@project.path}/merge_requests/#{merge_request.iid}/toggle_award_emoji"
expect(subject).to eq(expected_url) expect(subject).to eq(expected_url)
end end
......
...@@ -56,7 +56,7 @@ describe BlobHelper do ...@@ -56,7 +56,7 @@ describe BlobHelper do
stub_feature_flags(web_ide_default: false) stub_feature_flags(web_ide_default: false)
link = helper.edit_blob_button(project, 'master', 'README.md') link = helper.edit_blob_button(project, 'master', 'README.md')
expect(Capybara.string(link).find_link('Edit')[:href]).to eq("/#{project.full_path}/-/edit/master/README.md") expect(Capybara.string(link).find_link('Edit')[:href]).to eq("/#{project.full_path}/edit/master/README.md")
end end
it 'returns a link with a Web IDE route' do it 'returns a link with a Web IDE route' do
...@@ -69,7 +69,7 @@ describe BlobHelper do ...@@ -69,7 +69,7 @@ describe BlobHelper do
stub_feature_flags(web_ide_default: false) stub_feature_flags(web_ide_default: false)
link = helper.edit_blob_button(project, 'master', 'README.md', link_opts: { mr_id: 10 }) link = helper.edit_blob_button(project, 'master', 'README.md', link_opts: { mr_id: 10 })
expect(Capybara.string(link).find_link('Edit')[:href]).to eq("/#{project.full_path}/-/edit/master/README.md?mr_id=10") expect(Capybara.string(link).find_link('Edit')[:href]).to eq("/#{project.full_path}/edit/master/README.md?mr_id=10")
end end
end end
......
...@@ -116,7 +116,7 @@ describe EventsHelper do ...@@ -116,7 +116,7 @@ describe EventsHelper do
it 'returns a merge request url' do it 'returns a merge request url' do
event.target = create(:note_on_merge_request, note: 'LGTM!') event.target = create(:note_on_merge_request, note: 'LGTM!')
expect(subject).to eq("#{project_base_url}/-/merge_requests/#{event.note_target.iid}#note_#{event.target.id}") expect(subject).to eq("#{project_base_url}/merge_requests/#{event.note_target.iid}#note_#{event.target.id}")
end end
end end
end end
...@@ -78,21 +78,13 @@ describe LabelsHelper do ...@@ -78,21 +78,13 @@ describe LabelsHelper do
end end
context 'with a type argument' do context 'with a type argument' do
['issue', :issue].each do |type| ['issue', :issue, 'merge_request', :merge_request].each do |type|
context "set to #{type}" do context "set to #{type}" do
it 'links to correct page' do it 'links to correct page' do
expect(link_to_label(label_presenter, type: type)).to match %r{<a href="/#{label.project.full_path}/#{type.to_s.pluralize}\?label_name%5B%5D=#{label.name}">.*</a>} expect(link_to_label(label_presenter, type: type)).to match %r{<a href="/#{label.project.full_path}/#{type.to_s.pluralize}\?label_name%5B%5D=#{label.name}">.*</a>}
end end
end end
end end
['merge_request', :merge_request].each do |type|
context "set to #{type}" do
it 'links to correct page' do
expect(link_to_label(label_presenter, type: type)).to match %r{<a href="/#{label.project.full_path}/-/#{type.to_s.pluralize}\?label_name%5B%5D=#{label.name}">.*</a>}
end
end
end
end end
context 'with a tooltip argument' do context 'with a tooltip argument' do
......
...@@ -103,7 +103,7 @@ describe MarkupHelper do ...@@ -103,7 +103,7 @@ describe MarkupHelper do
let(:requested_path) { 'files/images/README.md' } let(:requested_path) { 'files/images/README.md' }
it 'returns the correct HTML for the image' do it 'returns the correct HTML for the image' do
expanded_path = "/#{project.full_path}/-/raw/master/files/images/#{image_file}" expanded_path = "/#{project.full_path}/raw/master/files/images/#{image_file}"
expect(subject.css('a')[0].attr('href')).to eq(expanded_path) expect(subject.css('a')[0].attr('href')).to eq(expanded_path)
expect(subject.css('img')[0].attr('data-src')).to eq(expanded_path) expect(subject.css('img')[0].attr('data-src')).to eq(expanded_path)
......
...@@ -95,7 +95,7 @@ describe SubmoduleHelper do ...@@ -95,7 +95,7 @@ describe SubmoduleHelper do
allow(repo).to receive(:project).and_return(project) allow(repo).to receive(:project).and_return(project)
stub_url('./') stub_url('./')
expect(subject).to eq(["/master-project/#{project.path}", "/master-project/#{project.path}/-/tree/hash"]) expect(subject).to eq(["/master-project/#{project.path}", "/master-project/#{project.path}/tree/hash"])
end end
end end
...@@ -166,7 +166,7 @@ describe SubmoduleHelper do ...@@ -166,7 +166,7 @@ describe SubmoduleHelper do
allow(repo).to receive(:submodule_url_for).and_return(relative_path) allow(repo).to receive(:submodule_url_for).and_return(relative_path)
result = subject result = subject
expect(result).to eq([expected_path, "#{expected_path}/-/tree/#{submodule_item.id}"]) expect(result).to eq([expected_path, "#{expected_path}/tree/#{submodule_item.id}"])
end end
it 'handles project under same group' do it 'handles project under same group' do
......
...@@ -461,7 +461,7 @@ describe('IDE commit module actions', () => { ...@@ -461,7 +461,7 @@ describe('IDE commit module actions', () => {
.dispatch('commit/commitChanges') .dispatch('commit/commitChanges')
.then(() => { .then(() => {
expect(visitUrl).toHaveBeenCalledWith( expect(visitUrl).toHaveBeenCalledWith(
`webUrl/-/merge_requests/new?merge_request[source_branch]=${ `webUrl/merge_requests/new?merge_request[source_branch]=${
store.getters['commit/placeholderBranchName'] store.getters['commit/placeholderBranchName']
}&merge_request[target_branch]=master&nav_source=webide`, }&merge_request[target_branch]=master&nav_source=webide`,
); );
......
...@@ -27,7 +27,7 @@ describe('Stages Dropdown', () => { ...@@ -27,7 +27,7 @@ describe('Stages Dropdown', () => {
}, },
merge_request: { merge_request: {
iid: 1234, iid: 1234,
path: '/root/detached-merge-request-pipelines/-/merge_requests/1', path: '/root/detached-merge-request-pipelines/merge_requests/1',
title: 'Update README.md', title: 'Update README.md',
source_branch: 'feature-1234', source_branch: 'feature-1234',
source_branch_path: '/root/detached-merge-request-pipelines/branches/feature-1234', source_branch_path: '/root/detached-merge-request-pipelines/branches/feature-1234',
......
...@@ -17,7 +17,7 @@ describe('MergeRequest', function() { ...@@ -17,7 +17,7 @@ describe('MergeRequest', function() {
mock = new MockAdapter(axios); mock = new MockAdapter(axios);
mock mock
.onPatch(`${gl.TEST_HOST}/frontend-fixtures/merge-requests-project/-/merge_requests/1.json`) .onPatch(`${gl.TEST_HOST}/frontend-fixtures/merge-requests-project/merge_requests/1.json`)
.reply(200, {}); .reply(200, {});
this.merge = new MergeRequest(); this.merge = new MergeRequest();
...@@ -75,7 +75,7 @@ describe('MergeRequest', function() { ...@@ -75,7 +75,7 @@ describe('MergeRequest', function() {
setTimeout(() => { setTimeout(() => {
expect(axios.patch).toHaveBeenCalledWith( expect(axios.patch).toHaveBeenCalledWith(
`${gl.TEST_HOST}/frontend-fixtures/merge-requests-project/-/merge_requests/1.json`, `${gl.TEST_HOST}/frontend-fixtures/merge-requests-project/merge_requests/1.json`,
{ {
merge_request: { merge_request: {
description: '- [ ] Task List Item\n- [ ] \n- [ ] Task List Item 2\n', description: '- [ ] Task List Item\n- [ ] \n- [ ] Task List Item 2\n',
...@@ -93,9 +93,7 @@ describe('MergeRequest', function() { ...@@ -93,9 +93,7 @@ describe('MergeRequest', function() {
// eslint-disable-next-line jasmine/no-disabled-tests // eslint-disable-next-line jasmine/no-disabled-tests
xit('shows an error notification when tasklist update failed', done => { xit('shows an error notification when tasklist update failed', done => {
mock mock
.onPatch( .onPatch(`${gl.TEST_HOST}/frontend-fixtures/merge-requests-project/merge_requests/1.json`)
`${gl.TEST_HOST}/frontend-fixtures/merge-requests-project/-/merge_requests/1.json`,
)
.reply(409, {}); .reply(409, {});
$('.js-task-list-field').trigger({ $('.js-task-list-field').trigger({
......
...@@ -147,53 +147,53 @@ describe('MergeRequestTabs', function() { ...@@ -147,53 +147,53 @@ describe('MergeRequestTabs', function() {
it('changes from commits', function() { it('changes from commits', function() {
setLocation({ setLocation({
pathname: '/foo/bar/-/merge_requests/1/commits', pathname: '/foo/bar/merge_requests/1/commits',
}); });
expect(this.subject('show')).toBe('/foo/bar/-/merge_requests/1'); expect(this.subject('show')).toBe('/foo/bar/merge_requests/1');
expect(this.subject('diffs')).toBe('/foo/bar/-/merge_requests/1/diffs'); expect(this.subject('diffs')).toBe('/foo/bar/merge_requests/1/diffs');
}); });
it('changes from diffs', function() { it('changes from diffs', function() {
setLocation({ setLocation({
pathname: '/foo/bar/-/merge_requests/1/diffs', pathname: '/foo/bar/merge_requests/1/diffs',
}); });
expect(this.subject('show')).toBe('/foo/bar/-/merge_requests/1'); expect(this.subject('show')).toBe('/foo/bar/merge_requests/1');
expect(this.subject('commits')).toBe('/foo/bar/-/merge_requests/1/commits'); expect(this.subject('commits')).toBe('/foo/bar/merge_requests/1/commits');
}); });
it('changes from diffs.html', function() { it('changes from diffs.html', function() {
setLocation({ setLocation({
pathname: '/foo/bar/-/merge_requests/1/diffs.html', pathname: '/foo/bar/merge_requests/1/diffs.html',
}); });
expect(this.subject('show')).toBe('/foo/bar/-/merge_requests/1'); expect(this.subject('show')).toBe('/foo/bar/merge_requests/1');
expect(this.subject('commits')).toBe('/foo/bar/-/merge_requests/1/commits'); expect(this.subject('commits')).toBe('/foo/bar/merge_requests/1/commits');
}); });
it('changes from notes', function() { it('changes from notes', function() {
setLocation({ setLocation({
pathname: '/foo/bar/-/merge_requests/1', pathname: '/foo/bar/merge_requests/1',
}); });
expect(this.subject('diffs')).toBe('/foo/bar/-/merge_requests/1/diffs'); expect(this.subject('diffs')).toBe('/foo/bar/merge_requests/1/diffs');
expect(this.subject('commits')).toBe('/foo/bar/-/merge_requests/1/commits'); expect(this.subject('commits')).toBe('/foo/bar/merge_requests/1/commits');
}); });
it('includes search parameters and hash string', function() { it('includes search parameters and hash string', function() {
setLocation({ setLocation({
pathname: '/foo/bar/-/merge_requests/1/diffs', pathname: '/foo/bar/merge_requests/1/diffs',
search: '?view=parallel', search: '?view=parallel',
hash: '#L15-35', hash: '#L15-35',
}); });
expect(this.subject('show')).toBe('/foo/bar/-/merge_requests/1?view=parallel#L15-35'); expect(this.subject('show')).toBe('/foo/bar/merge_requests/1?view=parallel#L15-35');
}); });
it('replaces the current history state', function() { it('replaces the current history state', function() {
setLocation({ setLocation({
pathname: '/foo/bar/-/merge_requests/1', pathname: '/foo/bar/merge_requests/1',
}); });
const newState = this.subject('commits'); const newState = this.subject('commits');
...@@ -208,10 +208,10 @@ describe('MergeRequestTabs', function() { ...@@ -208,10 +208,10 @@ describe('MergeRequestTabs', function() {
it('treats "show" like "notes"', function() { it('treats "show" like "notes"', function() {
setLocation({ setLocation({
pathname: '/foo/bar/-/merge_requests/1/commits', pathname: '/foo/bar/merge_requests/1/commits',
}); });
expect(this.subject('show')).toBe('/foo/bar/-/merge_requests/1'); expect(this.subject('show')).toBe('/foo/bar/merge_requests/1');
}); });
}); });
......
...@@ -30,7 +30,7 @@ describe('noteActions', () => { ...@@ -30,7 +30,7 @@ describe('noteActions', () => {
canAwardEmoji: true, canAwardEmoji: true,
canReportAsAbuse: true, canReportAsAbuse: true,
noteId: '539', noteId: '539',
noteUrl: `${TEST_HOST}/group/project/-/merge_requests/1#note_1`, noteUrl: `${TEST_HOST}/group/project/merge_requests/1#note_1`,
reportAbusePath: `${TEST_HOST}/abuse_reports/new?ref_url=http%3A%2F%2Flocalhost%3A3000%2Fgitlab-org%2Fgitlab-ce%2Fissues%2F7%23note_539&user_id=26`, reportAbusePath: `${TEST_HOST}/abuse_reports/new?ref_url=http%3A%2F%2Flocalhost%3A3000%2Fgitlab-org%2Fgitlab-ce%2Fissues%2F7%23note_539&user_id=26`,
showReply: false, showReply: false,
}; };
......
...@@ -38,11 +38,11 @@ describe('DiffViewer', () => { ...@@ -38,11 +38,11 @@ describe('DiffViewer', () => {
setTimeout(() => { setTimeout(() => {
expect(vm.$el.querySelector('.deleted img').getAttribute('src')).toBe( expect(vm.$el.querySelector('.deleted img').getAttribute('src')).toBe(
`//-/raw/DEF/${RED_BOX_IMAGE_URL}`, `//raw/DEF/${RED_BOX_IMAGE_URL}`,
); );
expect(vm.$el.querySelector('.added img').getAttribute('src')).toBe( expect(vm.$el.querySelector('.added img').getAttribute('src')).toBe(
`//-/raw/ABC/${GREEN_BOX_IMAGE_URL}`, `//raw/ABC/${GREEN_BOX_IMAGE_URL}`,
); );
done(); done();
......
...@@ -153,11 +153,11 @@ describe Banzai::Filter::RelativeLinkFilter do ...@@ -153,11 +153,11 @@ describe Banzai::Filter::RelativeLinkFilter do
it 'rebuilds absolute URL for a file in the repo' do it 'rebuilds absolute URL for a file in the repo' do
doc = filter(link('/doc/api/README.md')) doc = filter(link('/doc/api/README.md'))
expect(doc.at_css('a')['href']) expect(doc.at_css('a')['href'])
.to eq "/#{project_path}/-/blob/#{ref}/doc/api/README.md" .to eq "/#{project_path}/blob/#{ref}/doc/api/README.md"
end end
it 'does not modify relative URLs in system notes' do it 'does not modify relative URLs in system notes' do
path = "#{project_path}/-/merge_requests/1/diffs" path = "#{project_path}/merge_requests/1/diffs"
doc = filter(link(path), system_note: true) doc = filter(link(path), system_note: true)
expect(doc.at_css('a')['href']).to eq path expect(doc.at_css('a')['href']).to eq path
...@@ -171,13 +171,13 @@ describe Banzai::Filter::RelativeLinkFilter do ...@@ -171,13 +171,13 @@ describe Banzai::Filter::RelativeLinkFilter do
it 'rebuilds relative URL for a file in the repo' do it 'rebuilds relative URL for a file in the repo' do
doc = filter(link('doc/api/README.md')) doc = filter(link('doc/api/README.md'))
expect(doc.at_css('a')['href']) expect(doc.at_css('a')['href'])
.to eq "/#{project_path}/-/blob/#{ref}/doc/api/README.md" .to eq "/#{project_path}/blob/#{ref}/doc/api/README.md"
end end
it 'rebuilds relative URL for a file in the repo with leading ./' do it 'rebuilds relative URL for a file in the repo with leading ./' do
doc = filter(link('./doc/api/README.md')) doc = filter(link('./doc/api/README.md'))
expect(doc.at_css('a')['href']) expect(doc.at_css('a')['href'])
.to eq "/#{project_path}/-/blob/#{ref}/doc/api/README.md" .to eq "/#{project_path}/blob/#{ref}/doc/api/README.md"
end end
it 'rebuilds relative URL for a file in the repo up one directory' do it 'rebuilds relative URL for a file in the repo up one directory' do
...@@ -185,7 +185,7 @@ describe Banzai::Filter::RelativeLinkFilter do ...@@ -185,7 +185,7 @@ describe Banzai::Filter::RelativeLinkFilter do
doc = filter(relative_link, requested_path: 'doc/update/7.14-to-8.0.md') doc = filter(relative_link, requested_path: 'doc/update/7.14-to-8.0.md')
expect(doc.at_css('a')['href']) expect(doc.at_css('a')['href'])
.to eq "/#{project_path}/-/blob/#{ref}/doc/api/README.md" .to eq "/#{project_path}/blob/#{ref}/doc/api/README.md"
end end
it 'rebuilds relative URL for a file in the repo up multiple directories' do it 'rebuilds relative URL for a file in the repo up multiple directories' do
...@@ -193,7 +193,7 @@ describe Banzai::Filter::RelativeLinkFilter do ...@@ -193,7 +193,7 @@ describe Banzai::Filter::RelativeLinkFilter do
doc = filter(relative_link, requested_path: 'doc/foo/bar/baz/README.md') doc = filter(relative_link, requested_path: 'doc/foo/bar/baz/README.md')
expect(doc.at_css('a')['href']) expect(doc.at_css('a')['href'])
.to eq "/#{project_path}/-/blob/#{ref}/doc/api/README.md" .to eq "/#{project_path}/blob/#{ref}/doc/api/README.md"
end end
it 'rebuilds relative URL for a file in the repository root' do it 'rebuilds relative URL for a file in the repository root' do
...@@ -201,47 +201,47 @@ describe Banzai::Filter::RelativeLinkFilter do ...@@ -201,47 +201,47 @@ describe Banzai::Filter::RelativeLinkFilter do
doc = filter(relative_link, requested_path: 'doc/some-file.md') doc = filter(relative_link, requested_path: 'doc/some-file.md')
expect(doc.at_css('a')['href']) expect(doc.at_css('a')['href'])
.to eq "/#{project_path}/-/blob/#{ref}/README.md" .to eq "/#{project_path}/blob/#{ref}/README.md"
end end
it 'rebuilds relative URL for a file in the repo with an anchor' do it 'rebuilds relative URL for a file in the repo with an anchor' do
doc = filter(link('README.md#section')) doc = filter(link('README.md#section'))
expect(doc.at_css('a')['href']) expect(doc.at_css('a')['href'])
.to eq "/#{project_path}/-/blob/#{ref}/README.md#section" .to eq "/#{project_path}/blob/#{ref}/README.md#section"
end end
it 'rebuilds relative URL for a directory in the repo' do it 'rebuilds relative URL for a directory in the repo' do
doc = filter(link('doc/api/')) doc = filter(link('doc/api/'))
expect(doc.at_css('a')['href']) expect(doc.at_css('a')['href'])
.to eq "/#{project_path}/-/tree/#{ref}/doc/api" .to eq "/#{project_path}/tree/#{ref}/doc/api"
end end
it 'rebuilds relative URL for an image in the repo' do it 'rebuilds relative URL for an image in the repo' do
doc = filter(image('files/images/logo-black.png')) doc = filter(image('files/images/logo-black.png'))
expect(doc.at_css('img')['src']) expect(doc.at_css('img')['src'])
.to eq "/#{project_path}/-/raw/#{ref}/files/images/logo-black.png" .to eq "/#{project_path}/raw/#{ref}/files/images/logo-black.png"
end end
it 'rebuilds relative URL for link to an image in the repo' do it 'rebuilds relative URL for link to an image in the repo' do
doc = filter(link('files/images/logo-black.png')) doc = filter(link('files/images/logo-black.png'))
expect(doc.at_css('a')['href']) expect(doc.at_css('a')['href'])
.to eq "/#{project_path}/-/raw/#{ref}/files/images/logo-black.png" .to eq "/#{project_path}/raw/#{ref}/files/images/logo-black.png"
end end
it 'rebuilds relative URL for a video in the repo' do it 'rebuilds relative URL for a video in the repo' do
doc = filter(video('files/videos/intro.mp4'), commit: project.commit('video'), ref: 'video') doc = filter(video('files/videos/intro.mp4'), commit: project.commit('video'), ref: 'video')
expect(doc.at_css('video')['src']) expect(doc.at_css('video')['src'])
.to eq "/#{project_path}/-/raw/video/files/videos/intro.mp4" .to eq "/#{project_path}/raw/video/files/videos/intro.mp4"
end end
it 'rebuilds relative URL for audio in the repo' do it 'rebuilds relative URL for audio in the repo' do
doc = filter(audio('files/audio/sample.wav'), commit: project.commit('audio'), ref: 'audio') doc = filter(audio('files/audio/sample.wav'), commit: project.commit('audio'), ref: 'audio')
expect(doc.at_css('audio')['src']) expect(doc.at_css('audio')['src'])
.to eq "/#{project_path}/-/raw/audio/files/audio/sample.wav" .to eq "/#{project_path}/raw/audio/files/audio/sample.wav"
end end
it 'does not modify relative URL with an anchor only' do it 'does not modify relative URL with an anchor only' do
...@@ -268,7 +268,7 @@ describe Banzai::Filter::RelativeLinkFilter do ...@@ -268,7 +268,7 @@ describe Banzai::Filter::RelativeLinkFilter do
allow_any_instance_of(described_class).to receive(:uri_type).and_return(:raw) allow_any_instance_of(described_class).to receive(:uri_type).and_return(:raw)
doc = filter(image(escaped)) doc = filter(image(escaped))
expect(doc.at_css('img')['src']).to eq "/#{project_path}/-/raw/#{Addressable::URI.escape(ref)}/#{escaped}" expect(doc.at_css('img')['src']).to eq "/#{project_path}/raw/#{Addressable::URI.escape(ref)}/#{escaped}"
end end
context 'when requested path is a file in the repo' do context 'when requested path is a file in the repo' do
...@@ -276,7 +276,7 @@ describe Banzai::Filter::RelativeLinkFilter do ...@@ -276,7 +276,7 @@ describe Banzai::Filter::RelativeLinkFilter do
it 'rebuilds URL relative to the containing directory' do it 'rebuilds URL relative to the containing directory' do
doc = filter(link('users.md')) doc = filter(link('users.md'))
expect(doc.at_css('a')['href']).to eq "/#{project_path}/-/blob/#{Addressable::URI.escape(ref)}/doc/api/users.md" expect(doc.at_css('a')['href']).to eq "/#{project_path}/blob/#{Addressable::URI.escape(ref)}/doc/api/users.md"
end end
end end
...@@ -285,7 +285,7 @@ describe Banzai::Filter::RelativeLinkFilter do ...@@ -285,7 +285,7 @@ describe Banzai::Filter::RelativeLinkFilter do
it 'rebuilds URL relative to the directory' do it 'rebuilds URL relative to the directory' do
doc = filter(link('users.md')) doc = filter(link('users.md'))
expect(doc.at_css('a')['href']).to eq "/#{project_path}/-/blob/#{Addressable::URI.escape(ref)}/doc/api/users.md" expect(doc.at_css('a')['href']).to eq "/#{project_path}/blob/#{Addressable::URI.escape(ref)}/doc/api/users.md"
end end
end end
...@@ -296,7 +296,7 @@ describe Banzai::Filter::RelativeLinkFilter do ...@@ -296,7 +296,7 @@ describe Banzai::Filter::RelativeLinkFilter do
it 'correctly escapes the ref' do it 'correctly escapes the ref' do
doc = filter(link('.gitkeep')) doc = filter(link('.gitkeep'))
expect(doc.at_css('a')['href']).to eq "/#{project_path}/-/blob/#{Addressable::URI.escape(ref)}/foo/bar/.gitkeep" expect(doc.at_css('a')['href']).to eq "/#{project_path}/blob/#{Addressable::URI.escape(ref)}/foo/bar/.gitkeep"
end end
end end
...@@ -315,7 +315,7 @@ describe Banzai::Filter::RelativeLinkFilter do ...@@ -315,7 +315,7 @@ describe Banzai::Filter::RelativeLinkFilter do
doc = filter(link(path)) doc = filter(link(path))
expect(doc.at_css('a')['href']) expect(doc.at_css('a')['href'])
.to eq "/#{project_path}/-/raw/#{ref_escaped}/files/images/logo-black.png" .to eq "/#{project_path}/raw/#{ref_escaped}/files/images/logo-black.png"
end end
end end
...@@ -326,7 +326,7 @@ describe Banzai::Filter::RelativeLinkFilter do ...@@ -326,7 +326,7 @@ describe Banzai::Filter::RelativeLinkFilter do
it 'does not escape the space twice' do it 'does not escape the space twice' do
doc = filter(link('README.md')) doc = filter(link('README.md'))
expect(doc.at_css('a')['href']).to eq "/#{project_path}/-/blob/#{Addressable::URI.escape(ref)}/with%20space/README.md" expect(doc.at_css('a')['href']).to eq "/#{project_path}/blob/#{Addressable::URI.escape(ref)}/with%20space/README.md"
end end
end end
end end
......
...@@ -258,7 +258,7 @@ FILE ...@@ -258,7 +258,7 @@ FILE
describe '#as_json' do describe '#as_json' do
it 'includes the blob path for the file' do it 'includes the blob path for the file' do
expect(conflict_file.as_json[:blob_path]) expect(conflict_file.as_json[:blob_path])
.to eq("/#{project.full_path}/-/blob/#{our_commit.oid}/files/ruby/regex.rb") .to eq("/#{project.full_path}/blob/#{our_commit.oid}/files/ruby/regex.rb")
end end
it 'includes the blob icon for the file' do it 'includes the blob icon for the file' do
......
...@@ -77,7 +77,7 @@ describe Gitlab::DataBuilder::Pipeline do ...@@ -77,7 +77,7 @@ describe Gitlab::DataBuilder::Pipeline do
expect(merge_request_attrs[:target_project_id]).to eq(merge_request.target_project_id) expect(merge_request_attrs[:target_project_id]).to eq(merge_request.target_project_id)
expect(merge_request_attrs[:state]).to eq(merge_request.state) expect(merge_request_attrs[:state]).to eq(merge_request.state)
expect(merge_request_attrs[:merge_status]).to eq(merge_request.merge_status) expect(merge_request_attrs[:merge_status]).to eq(merge_request.merge_status)
expect(merge_request_attrs[:url]).to eq("http://localhost/#{merge_request.target_project.full_path}/-/merge_requests/#{merge_request.iid}") expect(merge_request_attrs[:url]).to eq("http://localhost/#{merge_request.target_project.full_path}/merge_requests/#{merge_request.iid}")
end end
end end
end end
......
...@@ -75,8 +75,8 @@ describe Gitlab::DependencyLinker::GodepsJsonLinker do ...@@ -75,8 +75,8 @@ describe Gitlab::DependencyLinker::GodepsJsonLinker do
end end
it 'links GitLab projects' do it 'links GitLab projects' do
expect(subject).to include(link('gitlab.com/group/project/path', 'https://gitlab.com/group/project/-/tree/master/path')) expect(subject).to include(link('gitlab.com/group/project/path', 'https://gitlab.com/group/project/tree/master/path'))
expect(subject).to include(link('gitlab.com/group/subgroup/project.git/path', 'https://gitlab.com/group/subgroup/project/-/tree/master/path')) expect(subject).to include(link('gitlab.com/group/subgroup/project.git/path', 'https://gitlab.com/group/subgroup/project/tree/master/path'))
end end
it 'links Golang packages' do it 'links Golang packages' do
......
...@@ -241,7 +241,7 @@ describe Gitlab::Middleware::Go do ...@@ -241,7 +241,7 @@ describe Gitlab::Middleware::Go do
project_url = "http://#{Gitlab.config.gitlab.host}/#{path}" project_url = "http://#{Gitlab.config.gitlab.host}/#{path}"
expect(response[0]).to eq(200) expect(response[0]).to eq(200)
expect(response[1]['Content-Type']).to eq('text/html') expect(response[1]['Content-Type']).to eq('text/html')
expected_body = %{<html><head><meta name="go-import" content="#{Gitlab.config.gitlab.host}/#{path} git #{repository_url}" /><meta name="go-source" content="#{Gitlab.config.gitlab.host}/#{path} #{project_url} #{project_url}/-/tree/#{branch}{/dir} #{project_url}/-/blob/#{branch}{/dir}/{file}#L{line}" /></head><body>go get #{Gitlab.config.gitlab.url}/#{path}</body></html>} expected_body = %{<html><head><meta name="go-import" content="#{Gitlab.config.gitlab.host}/#{path} git #{repository_url}" /><meta name="go-source" content="#{Gitlab.config.gitlab.host}/#{path} #{project_url} #{project_url}/tree/#{branch}{/dir} #{project_url}/blob/#{branch}{/dir}/{file}#L{line}" /></head><body>go get #{Gitlab.config.gitlab.url}/#{path}</body></html>}
expect(response[2].body).to eq([expected_body]) expect(response[2].body).to eq([expected_body])
end end
end end
......
...@@ -55,7 +55,7 @@ describe Gitlab::UrlBuilder do ...@@ -55,7 +55,7 @@ describe Gitlab::UrlBuilder do
url = described_class.build(merge_request) url = described_class.build(merge_request)
expect(url).to eq "#{Settings.gitlab['url']}/#{merge_request.project.full_path}/-/merge_requests/#{merge_request.iid}" expect(url).to eq "#{Settings.gitlab['url']}/#{merge_request.project.full_path}/merge_requests/#{merge_request.iid}"
end end
end end
...@@ -118,7 +118,7 @@ describe Gitlab::UrlBuilder do ...@@ -118,7 +118,7 @@ describe Gitlab::UrlBuilder do
url = described_class.build(note) url = described_class.build(note)
expect(url).to eq "#{Settings.gitlab['url']}/#{merge_request.project.full_path}/-/merge_requests/#{merge_request.iid}#note_#{note.id}" expect(url).to eq "#{Settings.gitlab['url']}/#{merge_request.project.full_path}/merge_requests/#{merge_request.iid}#note_#{note.id}"
end end
end end
...@@ -129,7 +129,7 @@ describe Gitlab::UrlBuilder do ...@@ -129,7 +129,7 @@ describe Gitlab::UrlBuilder do
url = described_class.build(note) url = described_class.build(note)
expect(url).to eq "#{Settings.gitlab['url']}/#{merge_request.project.full_path}/-/merge_requests/#{merge_request.iid}#note_#{note.id}" expect(url).to eq "#{Settings.gitlab['url']}/#{merge_request.project.full_path}/merge_requests/#{merge_request.iid}#note_#{note.id}"
end end
end end
......
...@@ -52,7 +52,7 @@ describe ChatMessage::MergeMessage do ...@@ -52,7 +52,7 @@ describe ChatMessage::MergeMessage do
context 'open' do context 'open' do
it 'returns a message regarding opening of merge requests' do it 'returns a message regarding opening of merge requests' do
expect(subject.pretext).to eq( expect(subject.pretext).to eq(
'Test User (test.user) opened <http://somewhere.com/-/merge_requests/100|!100 *Merge Request title*> in <http://somewhere.com|project_name>') 'Test User (test.user) opened <http://somewhere.com/merge_requests/100|!100 *Merge Request title*> in <http://somewhere.com|project_name>')
expect(subject.attachments).to be_empty expect(subject.attachments).to be_empty
end end
end end
...@@ -63,7 +63,7 @@ describe ChatMessage::MergeMessage do ...@@ -63,7 +63,7 @@ describe ChatMessage::MergeMessage do
end end
it 'returns a message regarding closing of merge requests' do it 'returns a message regarding closing of merge requests' do
expect(subject.pretext).to eq( expect(subject.pretext).to eq(
'Test User (test.user) closed <http://somewhere.com/-/merge_requests/100|!100 *Merge Request title*> in <http://somewhere.com|project_name>') 'Test User (test.user) closed <http://somewhere.com/merge_requests/100|!100 *Merge Request title*> in <http://somewhere.com|project_name>')
expect(subject.attachments).to be_empty expect(subject.attachments).to be_empty
end end
end end
...@@ -77,12 +77,12 @@ describe ChatMessage::MergeMessage do ...@@ -77,12 +77,12 @@ describe ChatMessage::MergeMessage do
context 'open' do context 'open' do
it 'returns a message regarding opening of merge requests' do it 'returns a message regarding opening of merge requests' do
expect(subject.pretext).to eq( expect(subject.pretext).to eq(
'Test User (test.user) opened [!100 *Merge Request title*](http://somewhere.com/-/merge_requests/100) in [project_name](http://somewhere.com)') 'Test User (test.user) opened [!100 *Merge Request title*](http://somewhere.com/merge_requests/100) in [project_name](http://somewhere.com)')
expect(subject.attachments).to be_empty expect(subject.attachments).to be_empty
expect(subject.activity).to eq({ expect(subject.activity).to eq({
title: 'Merge Request opened by Test User (test.user)', title: 'Merge Request opened by Test User (test.user)',
subtitle: 'in [project_name](http://somewhere.com)', subtitle: 'in [project_name](http://somewhere.com)',
text: '[!100 *Merge Request title*](http://somewhere.com/-/merge_requests/100)', text: '[!100 *Merge Request title*](http://somewhere.com/merge_requests/100)',
image: 'http://someavatar.com' image: 'http://someavatar.com'
}) })
end end
...@@ -95,12 +95,12 @@ describe ChatMessage::MergeMessage do ...@@ -95,12 +95,12 @@ describe ChatMessage::MergeMessage do
it 'returns a message regarding closing of merge requests' do it 'returns a message regarding closing of merge requests' do
expect(subject.pretext).to eq( expect(subject.pretext).to eq(
'Test User (test.user) closed [!100 *Merge Request title*](http://somewhere.com/-/merge_requests/100) in [project_name](http://somewhere.com)') 'Test User (test.user) closed [!100 *Merge Request title*](http://somewhere.com/merge_requests/100) in [project_name](http://somewhere.com)')
expect(subject.attachments).to be_empty expect(subject.attachments).to be_empty
expect(subject.activity).to eq({ expect(subject.activity).to eq({
title: 'Merge Request closed by Test User (test.user)', title: 'Merge Request closed by Test User (test.user)',
subtitle: 'in [project_name](http://somewhere.com)', subtitle: 'in [project_name](http://somewhere.com)',
text: '[!100 *Merge Request title*](http://somewhere.com/-/merge_requests/100)', text: '[!100 *Merge Request title*](http://somewhere.com/merge_requests/100)',
image: 'http://someavatar.com' image: 'http://someavatar.com'
}) })
end end
......
...@@ -697,7 +697,7 @@ describe Project do ...@@ -697,7 +697,7 @@ describe Project do
let(:project) { create(:project, :repository) } let(:project) { create(:project, :repository) }
it 'returns the README' do it 'returns the README' do
expect(project.readme_url).to eq("#{project.web_url}/-/blob/master/README.md") expect(project.readme_url).to eq("#{project.web_url}/blob/master/README.md")
end end
end end
end end
......
...@@ -21,7 +21,7 @@ describe BlobPresenter, :seed_helper do ...@@ -21,7 +21,7 @@ describe BlobPresenter, :seed_helper do
subject { described_class.new(blob) } subject { described_class.new(blob) }
it { expect(subject.web_url).to eq("http://localhost/#{project.full_path}/-/blob/#{blob.commit_id}/#{blob.path}") } it { expect(subject.web_url).to eq("http://localhost/#{project.full_path}/blob/#{blob.commit_id}/#{blob.path}") }
end end
describe '#highlight' do describe '#highlight' do
......
...@@ -101,7 +101,7 @@ describe MergeRequestPresenter do ...@@ -101,7 +101,7 @@ describe MergeRequestPresenter do
allow(presenter).to receive_message_chain(:conflicts, :can_be_resolved_by?).with(user) { true } allow(presenter).to receive_message_chain(:conflicts, :can_be_resolved_by?).with(user) { true }
expect(path) expect(path)
.to eq("/#{project.full_path}/-/merge_requests/#{resource.iid}/conflicts") .to eq("/#{project.full_path}/merge_requests/#{resource.iid}/conflicts")
end end
end end
end end
...@@ -179,7 +179,7 @@ describe MergeRequestPresenter do ...@@ -179,7 +179,7 @@ describe MergeRequestPresenter do
it 'returns correct link with correct text' do it 'returns correct link with correct text' do
is_expected is_expected
.to match("#{project.full_path}/-/merge_requests/#{resource.iid}/assign_related_issues") .to match("#{project.full_path}/merge_requests/#{resource.iid}/assign_related_issues")
is_expected is_expected
.to match("Assign yourself to this issue") .to match("Assign yourself to this issue")
...@@ -192,7 +192,7 @@ describe MergeRequestPresenter do ...@@ -192,7 +192,7 @@ describe MergeRequestPresenter do
it 'returns correct link with correct text' do it 'returns correct link with correct text' do
is_expected is_expected
.to match("#{project.full_path}/-/merge_requests/#{resource.iid}/assign_related_issues") .to match("#{project.full_path}/merge_requests/#{resource.iid}/assign_related_issues")
is_expected is_expected
.to match("Assign yourself to these issues") .to match("Assign yourself to these issues")
...@@ -221,7 +221,7 @@ describe MergeRequestPresenter do ...@@ -221,7 +221,7 @@ describe MergeRequestPresenter do
.with(user) .with(user)
.and_return(true) .and_return(true)
is_expected.to eq("/#{resource.project.full_path}/-/merge_requests/#{resource.iid}/cancel_auto_merge") is_expected.to eq("/#{resource.project.full_path}/merge_requests/#{resource.iid}/cancel_auto_merge")
end end
end end
...@@ -248,7 +248,7 @@ describe MergeRequestPresenter do ...@@ -248,7 +248,7 @@ describe MergeRequestPresenter do
.and_return(true) .and_return(true)
is_expected is_expected
.to eq("/#{resource.project.full_path}/-/merge_requests/#{resource.iid}/merge") .to eq("/#{resource.project.full_path}/merge_requests/#{resource.iid}/merge")
end end
end end
...@@ -312,7 +312,7 @@ describe MergeRequestPresenter do ...@@ -312,7 +312,7 @@ describe MergeRequestPresenter do
project.add_maintainer(user) project.add_maintainer(user)
is_expected is_expected
.to eq("/#{resource.project.full_path}/-/merge_requests/#{resource.iid}/remove_wip") .to eq("/#{resource.project.full_path}/merge_requests/#{resource.iid}/remove_wip")
end end
end end
...@@ -334,7 +334,7 @@ describe MergeRequestPresenter do ...@@ -334,7 +334,7 @@ describe MergeRequestPresenter do
allow(resource).to receive(:target_branch_exists?) { true } allow(resource).to receive(:target_branch_exists?) { true }
is_expected is_expected
.to eq("/#{resource.target_project.full_path}/-/commits/#{resource.target_branch}") .to eq("/#{resource.target_project.full_path}/commits/#{resource.target_branch}")
end end
end end
...@@ -358,7 +358,7 @@ describe MergeRequestPresenter do ...@@ -358,7 +358,7 @@ describe MergeRequestPresenter do
allow(resource).to receive(:source_branch_exists?) { true } allow(resource).to receive(:source_branch_exists?) { true }
is_expected is_expected
.to eq("/#{resource.source_project.full_path}/-/commits/#{resource.source_branch}") .to eq("/#{resource.source_project.full_path}/commits/#{resource.source_branch}")
end end
end end
...@@ -382,7 +382,7 @@ describe MergeRequestPresenter do ...@@ -382,7 +382,7 @@ describe MergeRequestPresenter do
allow(resource).to receive(:target_branch_exists?) { true } allow(resource).to receive(:target_branch_exists?) { true }
is_expected is_expected
.to eq("/#{resource.target_project.full_path}/-/tree/#{resource.target_branch}") .to eq("/#{resource.target_project.full_path}/tree/#{resource.target_branch}")
end end
end end
...@@ -496,7 +496,7 @@ describe MergeRequestPresenter do ...@@ -496,7 +496,7 @@ describe MergeRequestPresenter do
allow(resource).to receive(:source_branch_exists?) { true } allow(resource).to receive(:source_branch_exists?) { true }
is_expected is_expected
.to eq("<a href=\"/#{resource.source_project.full_path}/-/tree/#{resource.source_branch}\">#{resource.source_branch}</a>") .to eq("<a href=\"/#{resource.source_project.full_path}/tree/#{resource.source_branch}\">#{resource.source_branch}</a>")
end end
it 'escapes html, when source_branch does not exist' do it 'escapes html, when source_branch does not exist' do
...@@ -535,7 +535,7 @@ describe MergeRequestPresenter do ...@@ -535,7 +535,7 @@ describe MergeRequestPresenter do
it 'returns path' do it 'returns path' do
is_expected is_expected
.to eq("/#{project.full_path}/-/merge_requests/#{resource.iid}/rebase") .to eq("/#{project.full_path}/merge_requests/#{resource.iid}/rebase")
end end
end end
......
...@@ -11,6 +11,6 @@ describe TreeEntryPresenter do ...@@ -11,6 +11,6 @@ describe TreeEntryPresenter do
let(:presenter) { described_class.new(tree) } let(:presenter) { described_class.new(tree) }
describe '.web_url' do describe '.web_url' do
it { expect(presenter.web_url).to eq("http://localhost/#{project.full_path}/-/tree/#{tree.commit_id}/#{tree.path}") } it { expect(presenter.web_url).to eq("http://localhost/#{project.full_path}/tree/#{tree.commit_id}/#{tree.path}") }
end end
end end
...@@ -852,7 +852,7 @@ describe API::Internal::Base do ...@@ -852,7 +852,7 @@ describe API::Internal::Base do
message = <<~MESSAGE.strip message = <<~MESSAGE.strip
To create a merge request for #{branch_name}, visit: To create a merge request for #{branch_name}, visit:
http://#{Gitlab.config.gitlab.host}/#{project.full_path}/-/merge_requests/new?merge_request%5Bsource_branch%5D=#{branch_name} http://#{Gitlab.config.gitlab.host}/#{project.full_path}/merge_requests/new?merge_request%5Bsource_branch%5D=#{branch_name}
MESSAGE MESSAGE
expect(json_response['messages']).to include(build_basic_message(message)) expect(json_response['messages']).to include(build_basic_message(message))
...@@ -909,7 +909,7 @@ describe API::Internal::Base do ...@@ -909,7 +909,7 @@ describe API::Internal::Base do
message = <<~MESSAGE.strip message = <<~MESSAGE.strip
View merge request for #{branch_name}: View merge request for #{branch_name}:
http://#{Gitlab.config.gitlab.host}/#{project.full_path}/-/merge_requests/1 http://#{Gitlab.config.gitlab.host}/#{project.full_path}/merge_requests/1
MESSAGE MESSAGE
expect(json_response['messages']).to include(build_basic_message(message)) expect(json_response['messages']).to include(build_basic_message(message))
......
...@@ -715,7 +715,7 @@ describe API::Projects do ...@@ -715,7 +715,7 @@ describe API::Projects do
post api('/projects', user), params: project post api('/projects', user), params: project
expect(json_response['readme_url']).to eql("#{Gitlab.config.gitlab.url}/#{json_response['namespace']['full_path']}/somewhere/-/blob/master/README.md") expect(json_response['readme_url']).to eql("#{Gitlab.config.gitlab.url}/#{json_response['namespace']['full_path']}/somewhere/blob/master/README.md")
end end
it 'sets tag list to a project' do it 'sets tag list to a project' do
......
...@@ -76,7 +76,7 @@ describe API::Releases do ...@@ -76,7 +76,7 @@ describe API::Releases do
mr_uri = URI.parse(links['merge_requests_url']) mr_uri = URI.parse(links['merge_requests_url'])
issue_uri = URI.parse(links['issues_url']) issue_uri = URI.parse(links['issues_url'])
expect(mr_uri.path).to eq("#{path_base}/-/merge_requests") expect(mr_uri.path).to eq("#{path_base}/merge_requests")
expect(issue_uri.path).to eq("#{path_base}/issues") expect(issue_uri.path).to eq("#{path_base}/issues")
expect(mr_uri.query).to eq(expected_query) expect(mr_uri.query).to eq(expected_query)
expect(issue_uri.query).to eq(expected_query) expect(issue_uri.query).to eq(expected_query)
......
...@@ -834,7 +834,7 @@ describe 'Git HTTP requests' do ...@@ -834,7 +834,7 @@ describe 'Git HTTP requests' do
Blob.decorate(Gitlab::Git::Blob.find(project.repository, 'master', 'bar/branch-test.txt'), project) Blob.decorate(Gitlab::Git::Blob.find(project.repository, 'master', 'bar/branch-test.txt'), project)
end end
get "/#{project.full_path}/-/blob/master/info/refs" get "/#{project.full_path}/blob/master/info/refs"
end end
it "returns the file" do it "returns the file" do
...@@ -844,7 +844,7 @@ describe 'Git HTTP requests' do ...@@ -844,7 +844,7 @@ describe 'Git HTTP requests' do
context "when the file does not exist" do context "when the file does not exist" do
before do before do
get "/#{project.full_path}/-/blob/master/info/refs" get "/#{project.full_path}/blob/master/info/refs"
end end
it "redirects" do it "redirects" do
......
...@@ -4,7 +4,7 @@ require 'spec_helper' ...@@ -4,7 +4,7 @@ require 'spec_helper'
describe 'merge requests discussions' do describe 'merge requests discussions' do
# Further tests can be found at merge_requests_controller_spec.rb # Further tests can be found at merge_requests_controller_spec.rb
describe 'GET /:namespace/:project/-/merge_requests/:iid/discussions' do describe 'GET /:namespace/:project/merge_requests/:iid/discussions' do
let(:project) { create(:project, :repository) } let(:project) { create(:project, :repository) }
let(:user) { project.owner } let(:user) { project.owner }
let(:merge_request) { create(:merge_request_with_diffs, target_project: project, source_project: project) } let(:merge_request) { create(:merge_request_with_diffs, target_project: project, source_project: project) }
......
...@@ -26,8 +26,8 @@ describe 'Update of user activity' do ...@@ -26,8 +26,8 @@ describe 'Update of user activity' do
'/dashboard/todos', '/dashboard/todos',
'/group/project/issues', '/group/project/issues',
'/group/project/issues/10', '/group/project/issues/10',
'/group/project/-/merge_requests', '/group/project/merge_requests',
'/group/project/-/merge_requests/15' '/group/project/merge_requests/15'
] ]
context 'without an authenticated user' do context 'without an authenticated user' do
......
This diff is collapsed.
...@@ -23,7 +23,7 @@ describe BlobEntity do ...@@ -23,7 +23,7 @@ describe BlobEntity do
mode: "100644", mode: "100644",
readable_text: true, readable_text: true,
icon: "file-text-o", icon: "file-text-o",
url: "/#{project.full_path}/-/blob/master/bar/branch-test.txt" url: "/#{project.full_path}/blob/master/bar/branch-test.txt"
}) })
end end
end end
......
...@@ -60,7 +60,7 @@ describe MergeRequestPollWidgetEntity do ...@@ -60,7 +60,7 @@ describe MergeRequestPollWidgetEntity do
project.add_developer(user) project.add_developer(user)
expect(subject[:new_blob_path]) expect(subject[:new_blob_path])
.to eq("/#{resource.project.full_path}/-/new/#{resource.source_branch}") .to eq("/#{resource.project.full_path}/new/#{resource.source_branch}")
end end
end end
......
...@@ -45,12 +45,12 @@ describe MergeRequestWidgetEntity do ...@@ -45,12 +45,12 @@ describe MergeRequestWidgetEntity do
it 'has email_patches_path' do it 'has email_patches_path' do
expect(subject[:email_patches_path]) expect(subject[:email_patches_path])
.to eq("/#{resource.project.full_path}/-/merge_requests/#{resource.iid}.patch") .to eq("/#{resource.project.full_path}/merge_requests/#{resource.iid}.patch")
end end
it 'has plain_diff_path' do it 'has plain_diff_path' do
expect(subject[:plain_diff_path]) expect(subject[:plain_diff_path])
.to eq("/#{resource.project.full_path}/-/merge_requests/#{resource.iid}.diff") .to eq("/#{resource.project.full_path}/merge_requests/#{resource.iid}.diff")
end end
describe 'when source project is deleted' do describe 'when source project is deleted' do
......
...@@ -26,7 +26,7 @@ describe PaginatedDiffEntity do ...@@ -26,7 +26,7 @@ describe PaginatedDiffEntity do
expect(subject[:pagination]).to eq( expect(subject[:pagination]).to eq(
current_page: 2, current_page: 2,
next_page: 3, next_page: 3,
next_page_href: "/#{merge_request.project.full_path}/-/merge_requests/#{merge_request.iid}/diffs_batch.json?page=3", next_page_href: "/#{merge_request.project.full_path}/merge_requests/#{merge_request.iid}/diffs_batch.json?page=3",
total_pages: 7 total_pages: 7
) )
end end
......
...@@ -11,7 +11,7 @@ describe Ci::ExpirePipelineCacheService do ...@@ -11,7 +11,7 @@ describe Ci::ExpirePipelineCacheService do
describe '#execute' do describe '#execute' do
it 'invalidates Etag caching for project pipelines path' do it 'invalidates Etag caching for project pipelines path' do
pipelines_path = "/#{project.full_path}/pipelines.json" pipelines_path = "/#{project.full_path}/pipelines.json"
new_mr_pipelines_path = "/#{project.full_path}/-/merge_requests/new.json" new_mr_pipelines_path = "/#{project.full_path}/merge_requests/new.json"
pipeline_path = "/#{project.full_path}/pipelines/#{pipeline.id}.json" pipeline_path = "/#{project.full_path}/pipelines/#{pipeline.id}.json"
expect_any_instance_of(Gitlab::EtagCaching::Store).to receive(:touch).with(pipelines_path) expect_any_instance_of(Gitlab::EtagCaching::Store).to receive(:touch).with(pipelines_path)
...@@ -24,7 +24,7 @@ describe Ci::ExpirePipelineCacheService do ...@@ -24,7 +24,7 @@ describe Ci::ExpirePipelineCacheService do
it 'invalidates Etag caching for merge request pipelines if pipeline runs on any commit of that source branch' do it 'invalidates Etag caching for merge request pipelines if pipeline runs on any commit of that source branch' do
pipeline = create(:ci_empty_pipeline, status: 'created', project: project, ref: 'master') pipeline = create(:ci_empty_pipeline, status: 'created', project: project, ref: 'master')
merge_request = create(:merge_request, source_project: project, source_branch: pipeline.ref) merge_request = create(:merge_request, source_project: project, source_branch: pipeline.ref)
merge_request_pipelines_path = "/#{project.full_path}/-/merge_requests/#{merge_request.iid}/pipelines.json" merge_request_pipelines_path = "/#{project.full_path}/merge_requests/#{merge_request.iid}/pipelines.json"
allow_any_instance_of(Gitlab::EtagCaching::Store).to receive(:touch) allow_any_instance_of(Gitlab::EtagCaching::Store).to receive(:touch)
expect_any_instance_of(Gitlab::EtagCaching::Store).to receive(:touch).with(merge_request_pipelines_path) expect_any_instance_of(Gitlab::EtagCaching::Store).to receive(:touch).with(merge_request_pipelines_path)
......
...@@ -8,8 +8,8 @@ describe MergeRequests::GetUrlsService do ...@@ -8,8 +8,8 @@ describe MergeRequests::GetUrlsService do
let(:project) { create(:project, :public, :repository) } let(:project) { create(:project, :public, :repository) }
let(:service) { described_class.new(project) } let(:service) { described_class.new(project) }
let(:source_branch) { "merge-test" } let(:source_branch) { "merge-test" }
let(:new_merge_request_url) { "http://#{Gitlab.config.gitlab.host}/#{project.full_path}/-/merge_requests/new?merge_request%5Bsource_branch%5D=#{source_branch}" } let(:new_merge_request_url) { "http://#{Gitlab.config.gitlab.host}/#{project.full_path}/merge_requests/new?merge_request%5Bsource_branch%5D=#{source_branch}" }
let(:show_merge_request_url) { "http://#{Gitlab.config.gitlab.host}/#{project.full_path}/-/merge_requests/#{merge_request.iid}" } let(:show_merge_request_url) { "http://#{Gitlab.config.gitlab.host}/#{project.full_path}/merge_requests/#{merge_request.iid}" }
let(:new_branch_changes) { "#{Gitlab::Git::BLANK_SHA} 570e7b2abdd848b95f2f578043fc23bd6f6fd24d refs/heads/#{source_branch}" } let(:new_branch_changes) { "#{Gitlab::Git::BLANK_SHA} 570e7b2abdd848b95f2f578043fc23bd6f6fd24d refs/heads/#{source_branch}" }
let(:deleted_branch_changes) { "d14d6c0abdd253381df51a723d58691b2ee1ab08 #{Gitlab::Git::BLANK_SHA} refs/heads/#{source_branch}" } let(:deleted_branch_changes) { "d14d6c0abdd253381df51a723d58691b2ee1ab08 #{Gitlab::Git::BLANK_SHA} refs/heads/#{source_branch}" }
let(:existing_branch_changes) { "d14d6c0abdd253381df51a723d58691b2ee1ab08 570e7b2abdd848b95f2f578043fc23bd6f6fd24d refs/heads/#{source_branch}" } let(:existing_branch_changes) { "d14d6c0abdd253381df51a723d58691b2ee1ab08 570e7b2abdd848b95f2f578043fc23bd6f6fd24d refs/heads/#{source_branch}" }
...@@ -127,7 +127,7 @@ describe MergeRequests::GetUrlsService do ...@@ -127,7 +127,7 @@ describe MergeRequests::GetUrlsService do
let(:new_branch_changes) { "#{Gitlab::Git::BLANK_SHA} 570e7b2abdd848b95f2f578043fc23bd6f6fd24d refs/heads/new_branch" } let(:new_branch_changes) { "#{Gitlab::Git::BLANK_SHA} 570e7b2abdd848b95f2f578043fc23bd6f6fd24d refs/heads/new_branch" }
let(:existing_branch_changes) { "d14d6c0abdd253381df51a723d58691b2ee1ab08 570e7b2abdd848b95f2f578043fc23bd6f6fd24d refs/heads/markdown" } let(:existing_branch_changes) { "d14d6c0abdd253381df51a723d58691b2ee1ab08 570e7b2abdd848b95f2f578043fc23bd6f6fd24d refs/heads/markdown" }
let(:changes) { "#{new_branch_changes}\n#{existing_branch_changes}" } let(:changes) { "#{new_branch_changes}\n#{existing_branch_changes}" }
let(:new_merge_request_url) { "http://#{Gitlab.config.gitlab.host}/#{project.full_path}/-/merge_requests/new?merge_request%5Bsource_branch%5D=new_branch" } let(:new_merge_request_url) { "http://#{Gitlab.config.gitlab.host}/#{project.full_path}/merge_requests/new?merge_request%5Bsource_branch%5D=new_branch" }
it 'returns 2 urls for both creating new and showing merge request' do it 'returns 2 urls for both creating new and showing merge request' do
result = service.execute(changes) result = service.execute(changes)
......
...@@ -328,7 +328,7 @@ describe SystemNoteService do ...@@ -328,7 +328,7 @@ describe SystemNoteService do
url = if type == 'commit' url = if type == 'commit'
"#{Settings.gitlab.base_url}/#{project.namespace.path}/#{project.path}/commit/#{commit.id}" "#{Settings.gitlab.base_url}/#{project.namespace.path}/#{project.path}/commit/#{commit.id}"
else else
"#{Settings.gitlab.base_url}/#{project.namespace.path}/#{project.path}/-/merge_requests/#{merge_request.iid}" "#{Settings.gitlab.base_url}/#{project.namespace.path}/#{project.path}/merge_requests/#{merge_request.iid}"
end end
link = double(object: { 'url' => url }) link = double(object: { 'url' => url })
......
...@@ -40,7 +40,7 @@ describe 'help/index' do ...@@ -40,7 +40,7 @@ describe 'help/index' do
render render
expect(rendered).to match '8.0.2' expect(rendered).to match '8.0.2'
expect(rendered).to have_link('abcdefg', href: %r{https://gitlab.com/gitlab-org/(gitlab|gitlab-foss)/-/commits/abcdefg}) expect(rendered).to have_link('abcdefg', href: %r{https://gitlab.com/gitlab-org/(gitlab|gitlab-foss)/commits/abcdefg})
end end
end end
end end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment