summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorLin Jen-Shin <godfat@godfat.org>2018-03-23 01:51:02 +0800
committerLin Jen-Shin <godfat@godfat.org>2018-03-23 18:45:27 +0800
commit92de278a15717258df75d2ef7b1d57f5122f20a9 (patch)
treefabce801f6357cd2b64fa3627ccade76cf247c25 /spec
parent4333fbf2e4a6103b24b973304d1952f31ef16eac (diff)
downloadgitlab-ce-92de278a15717258df75d2ef7b1d57f5122f20a9.tar.gz
Add test for sidebar and cleanup wiki tests
Diffstat (limited to 'spec')
-rw-r--r--spec/features/projects/wiki/user_creates_wiki_page_spec.rb41
1 files changed, 38 insertions, 3 deletions
diff --git a/spec/features/projects/wiki/user_creates_wiki_page_spec.rb b/spec/features/projects/wiki/user_creates_wiki_page_spec.rb
index 4a9d1cb87e1..0dd6bc7924c 100644
--- a/spec/features/projects/wiki/user_creates_wiki_page_spec.rb
+++ b/spec/features/projects/wiki/user_creates_wiki_page_spec.rb
@@ -2,15 +2,20 @@ require 'spec_helper'
describe 'User creates wiki page' do
let(:user) { create(:user) }
+ let(:wiki) { ProjectWiki.new(project, user) }
+ let(:project) { create(:project) }
before do
project.add_master(user)
- sign_in(user)
- visit(project_wikis_path(project))
+ sign_in(user)
end
context 'when wiki is empty' do
+ before do
+ visit(project_wikis_path(project))
+ end
+
context 'in a user namespace' do
let(:project) { create(:project, namespace: user.namespace) }
@@ -126,7 +131,9 @@ describe 'User creates wiki page' do
context 'when wiki is not empty', :js do
before do
- create(:wiki_page, wiki: create(:project, namespace: user.namespace).wiki, attrs: { title: 'home', content: 'Home page' })
+ create(:wiki_page, wiki: wiki, attrs: { title: 'home', content: 'Home page' })
+
+ visit(project_wikis_path(project))
end
context 'in a user namespace' do
@@ -241,4 +248,32 @@ describe 'User creates wiki page' do
end
end
end
+
+ context 'when wiki has two pages' do
+ before do
+ create(:wiki_page, wiki: wiki, attrs: { title: 'home', content: 'home' })
+ create(:wiki_page, wiki: wiki, attrs: { title: 'another', content: 'another' })
+ end
+
+ it 'renders a default sidebar when there is no customized sidebar' do
+ visit(project_wikis_path(project))
+
+ expect(page).to have_content('Another')
+ expect(page).to have_content('More Pages')
+ end
+
+ context 'when there is a customized sidebar' do
+ before do
+ create(:wiki_page, wiki: wiki, attrs: { title: '_sidebar', content: 'My customized sidebar' })
+ end
+
+ it 'renders my customized sidebar instead of the default one' do
+ visit(project_wikis_path(project))
+
+ expect(page).to have_content('My customized sidebar')
+ expect(page).not_to have_content('Another')
+ expect(page).not_to have_content('More Pages')
+ end
+ end
+ end
end