diff options
author | Shinya Maeda <shinya@gitlab.com> | 2017-11-05 13:36:12 +0300 |
---|---|---|
committer | Shinya Maeda <shinya@gitlab.com> | 2017-11-05 13:36:12 +0300 |
commit | b737282ac7fc127f6132815437bcc5a464101fd2 (patch) | |
tree | 04497e11d18fd910609fdc1af180d3e5dccca0ed /spec/controllers | |
parent | 8fb7e87806e8ae94ee40e56400625886cbcf411e (diff) | |
parent | 1d5f2f9c333534b7004501bcfa52ca873d6a3403 (diff) |
Merge branch 'master' into refactor-clusters
Diffstat (limited to 'spec/controllers')
-rw-r--r-- | spec/controllers/concerns/lfs_request_spec.rb | 50 | ||||
-rw-r--r-- | spec/controllers/projects/notes_controller_spec.rb | 13 |
2 files changed, 63 insertions, 0 deletions
diff --git a/spec/controllers/concerns/lfs_request_spec.rb b/spec/controllers/concerns/lfs_request_spec.rb new file mode 100644 index 00000000000..33b23db302a --- /dev/null +++ b/spec/controllers/concerns/lfs_request_spec.rb @@ -0,0 +1,50 @@ +require 'spec_helper' + +describe LfsRequest do + include ProjectForksHelper + + controller(Projects::GitHttpClientController) do + # `described_class` is not available in this context + include LfsRequest # rubocop:disable RSpec/DescribedClass + + def show + storage_project + + render nothing: true + end + + def project + @project ||= Project.find(params[:id]) + end + + def download_request? + true + end + + def ci? + false + end + end + + let(:project) { create(:project, :public) } + + before do + stub_lfs_setting(enabled: true) + end + + describe '#storage_project' do + it 'assigns the project as storage project' do + get :show, id: project.id + + expect(assigns(:storage_project)).to eq(project) + end + + it 'assigns the source of a forked project' do + forked_project = fork_project(project) + + get :show, id: forked_project.id + + expect(assigns(:storage_project)).to eq(project) + end + end +end diff --git a/spec/controllers/projects/notes_controller_spec.rb b/spec/controllers/projects/notes_controller_spec.rb index 1184c55e540..43afcc14957 100644 --- a/spec/controllers/projects/notes_controller_spec.rb +++ b/spec/controllers/projects/notes_controller_spec.rb @@ -105,6 +105,19 @@ describe Projects::NotesController do expect(note_json[:discussion_html]).to be_nil expect(note_json[:diff_discussion_html]).to be_nil end + + context 'when user cannot read commit' do + before do + allow(Ability).to receive(:allowed?).and_call_original + allow(Ability).to receive(:allowed?).with(user, :download_code, project).and_return(false) + end + + it 'renders 404' do + get :index, params + + expect(response).to have_gitlab_http_status(404) + end + end end end |