diff options
author | Sean McGivern <sean@mcgivern.me.uk> | 2016-11-01 14:05:51 +0000 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2016-11-15 18:36:39 +0100 |
commit | bf149a156cc9c5a5fddd2767f7d96d6823bb852a (patch) | |
tree | 1bb0cd05b76fc4f755b8b7284b714126f74a4700 | |
parent | 92ceed162b89a1d441ff48ea66f68409e67ea7de (diff) | |
download | gitlab-ce-bf149a156cc9c5a5fddd2767f7d96d6823bb852a.tar.gz |
Merge branch 'adam-fix-wiki-links-markdown' into 'master'
Fix relative links in Markdown wiki when displayed in "Project" tab
Refers to #23806
See merge request !7218
-rw-r--r-- | app/controllers/projects_controller.rb | 3 | ||||
-rw-r--r-- | spec/features/projects/wiki/user_views_wiki_in_project_page_spec.rb | 44 |
2 files changed, 46 insertions, 1 deletions
diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 76b730198d4..fbe93e5ddab 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -287,7 +287,8 @@ class ProjectsController < Projects::ApplicationController render 'projects/empty' if @project.empty_repo? else if @project.wiki_enabled? - @wiki_home = @project.wiki.find_page('home', params[:version_id]) + @project_wiki = @project.wiki + @wiki_home = @project_wiki.find_page('home', params[:version_id]) elsif @project.feature_available?(:issues, current_user) @issues = issues_collection @issues = @issues.page(params[:page]) diff --git a/spec/features/projects/wiki/user_views_wiki_in_project_page_spec.rb b/spec/features/projects/wiki/user_views_wiki_in_project_page_spec.rb new file mode 100644 index 00000000000..b4f5f6b3fc5 --- /dev/null +++ b/spec/features/projects/wiki/user_views_wiki_in_project_page_spec.rb @@ -0,0 +1,44 @@ +require 'spec_helper' + +describe 'Projects > Wiki > User views wiki in project page', feature: true do + let(:user) { create(:user) } + let(:project) { create(:empty_project) } + + before do + project.team << [user, :master] + login_as(user) + end + + context 'when repository is disabled for project' do + before do + project.project_feature.update!( + repository_access_level: ProjectFeature::DISABLED, + merge_requests_access_level: ProjectFeature::DISABLED, + builds_access_level: ProjectFeature::DISABLED + ) + end + + context 'when wiki homepage contains a link' do + before do + WikiPages::CreateService.new( + project, + user, + title: 'home', + content: '[some link](other-page)' + ).execute + end + + it 'displays the correct URL for the link' do + visit namespace_project_path(project.namespace, project) + expect(page).to have_link( + 'some link', + href: namespace_project_wiki_path( + project.namespace, + project, + 'other-page' + ) + ) + end + end + end +end |