summaryrefslogtreecommitdiff
path: root/spec/controllers/projects/blob_controller_spec.rb
diff options
context:
space:
mode:
authorSean McGivern <sean@gitlab.com>2017-04-25 13:28:55 +0100
committerSean McGivern <sean@gitlab.com>2017-04-26 12:50:32 +0100
commit5069682d8ed892705ec1a933554cc4060e5691af (patch)
treee2f286cf4ebd2678acf845d066146854885126ab /spec/controllers/projects/blob_controller_spec.rb
parent6dc424c949ab3de9395d821b05d2e1cc5f632ed2 (diff)
downloadgitlab-ce-5069682d8ed892705ec1a933554cc4060e5691af.tar.gz
Enable RSpec/FilePath copenable-spec-file-name-cop
- Ignore JS fixtures - Ignore qa directory - Rewrite concern specs to put concern name first
Diffstat (limited to 'spec/controllers/projects/blob_controller_spec.rb')
-rw-r--r--spec/controllers/projects/blob_controller_spec.rb51
1 files changed, 51 insertions, 0 deletions
diff --git a/spec/controllers/projects/blob_controller_spec.rb b/spec/controllers/projects/blob_controller_spec.rb
index 0fd09d156c4..3b3caa9d3e6 100644
--- a/spec/controllers/projects/blob_controller_spec.rb
+++ b/spec/controllers/projects/blob_controller_spec.rb
@@ -3,6 +3,57 @@ require 'rails_helper'
describe Projects::BlobController do
let(:project) { create(:project, :public, :repository) }
+ describe "GET show" do
+ render_views
+
+ context 'with file path' do
+ before do
+ get(:show,
+ namespace_id: project.namespace,
+ project_id: project,
+ id: id)
+ end
+
+ context "valid branch, valid file" do
+ let(:id) { 'master/README.md' }
+ it { is_expected.to respond_with(:success) }
+ end
+
+ context "valid branch, invalid file" do
+ let(:id) { 'master/invalid-path.rb' }
+ it { is_expected.to respond_with(:not_found) }
+ end
+
+ context "invalid branch, valid file" do
+ let(:id) { 'invalid-branch/README.md' }
+ it { is_expected.to respond_with(:not_found) }
+ end
+
+ context "binary file" do
+ let(:id) { 'binary-encoding/encoding/binary-1.bin' }
+ it { is_expected.to respond_with(:success) }
+ end
+ end
+
+ context 'with tree path' do
+ before do
+ get(:show,
+ namespace_id: project.namespace,
+ project_id: project,
+ id: id)
+ controller.instance_variable_set(:@blob, nil)
+ end
+
+ context 'redirect to tree' do
+ let(:id) { 'markdown/doc' }
+ it 'redirects' do
+ expect(subject).
+ to redirect_to("/#{project.path_with_namespace}/tree/markdown/doc")
+ end
+ end
+ end
+ end
+
describe 'GET diff' do
let(:user) { create(:user) }