summaryrefslogtreecommitdiff
path: root/spec/models
diff options
context:
space:
mode:
authorSean McGivern <sean@mcgivern.me.uk>2017-07-07 09:01:10 +0000
committerSean McGivern <sean@mcgivern.me.uk>2017-07-07 09:01:10 +0000
commitbdc56348a585bab629c94b13ba990c03d0106a30 (patch)
tree6074a755732dd8e905e975d394069df7d3e429d6 /spec/models
parentd206bb3e608885a91f97a7c35a8cd00c69aa6e54 (diff)
parentd195db17e9ff62c3dbfb8ba03dacadf965b1fb8b (diff)
downloadgitlab-ce-bdc56348a585bab629c94b13ba990c03d0106a30.tar.gz
Merge branch 'dm-readme-auxiliary-blob-viewer-without-wiki' into 'master'
Don't show auxiliary blob viewer for README when there is no wiki Closes #34732 See merge request !12689
Diffstat (limited to 'spec/models')
-rw-r--r--spec/models/blob_viewer/readme_spec.rb49
1 files changed, 49 insertions, 0 deletions
diff --git a/spec/models/blob_viewer/readme_spec.rb b/spec/models/blob_viewer/readme_spec.rb
new file mode 100644
index 00000000000..02679dbb544
--- /dev/null
+++ b/spec/models/blob_viewer/readme_spec.rb
@@ -0,0 +1,49 @@
+require 'spec_helper'
+
+describe BlobViewer::Readme, model: true do
+ include FakeBlobHelpers
+
+ let(:project) { create(:project, :repository) }
+ let(:blob) { fake_blob(path: 'README.md') }
+ subject { described_class.new(blob) }
+
+ describe '#render_error' do
+ context 'when there is no wiki' do
+ it 'returns :no_wiki' do
+ expect(subject.render_error).to eq(:no_wiki)
+ end
+ end
+
+ context 'when there is an external wiki' do
+ before do
+ project.has_external_wiki = true
+ end
+
+ it 'returns nil' do
+ expect(subject.render_error).to be_nil
+ end
+ end
+
+ context 'when there is a local wiki' do
+ before do
+ project.wiki_enabled = true
+ end
+
+ context 'when the wiki is empty' do
+ it 'returns :no_wiki' do
+ expect(subject.render_error).to eq(:no_wiki)
+ end
+ end
+
+ context 'when the wiki is not empty' do
+ before do
+ WikiPages::CreateService.new(project, project.owner, title: 'home', content: 'Home page').execute
+ end
+
+ it 'returns nil' do
+ expect(subject.render_error).to be_nil
+ end
+ end
+ end
+ end
+end