diff options
author | Yorick Peterse <yorickpeterse@gmail.com> | 2016-06-09 17:17:01 +0200 |
---|---|---|
committer | Yorick Peterse <yorickpeterse@gmail.com> | 2016-06-10 13:19:43 +0200 |
commit | beed70c0248fea13bdf727e5f14dee362b0cd298 (patch) | |
tree | 06a8fca1cf4dfcbd60b3dedfd96dda4adf778943 /spec/controllers | |
parent | d74a8900e27a98f1c921052d2fc44f38cc63a2ea (diff) | |
download | gitlab-ce-beed70c0248fea13bdf727e5f14dee362b0cd298.tar.gz |
Use feature flags for notes and award emojisfeature-flags
This allows us to disable creating/updating/removing of notes as well as
toggling of award emojis.
Diffstat (limited to 'spec/controllers')
-rw-r--r-- | spec/controllers/projects/notes_controller_spec.rb | 58 |
1 files changed, 57 insertions, 1 deletions
diff --git a/spec/controllers/projects/notes_controller_spec.rb b/spec/controllers/projects/notes_controller_spec.rb index 00bc38b6071..e71b2200846 100644 --- a/spec/controllers/projects/notes_controller_spec.rb +++ b/spec/controllers/projects/notes_controller_spec.rb @@ -4,7 +4,50 @@ describe Projects::NotesController do let(:user) { create(:user) } let(:project) { create(:project) } let(:issue) { create(:issue, project: project) } - let(:note) { create(:note, noteable: issue, project: project) } + let(:note) { create(:note, noteable: issue, project: project, author: user) } + + describe 'POST #create' do + before do + sign_in(user) + project.team << [user, :developer] + end + + context 'when creating notes is disabled' do + it 'responds with a service unavailable error' do + expect(Gitlab::Feature).to receive(:feature_enabled?). + with(:creating_notes). + and_return(false) + + post(:create, + namespace_id: project.namespace.path, + project_id: project.path) + + expect(response.status).to eq(503) + end + end + end + + describe 'PUT #update' do + before do + sign_in(user) + project.team << [user, :developer] + end + + context 'when updating notes is disabled' do + it 'responds with a service unavailable error' do + expect(Gitlab::Feature).to receive(:feature_enabled?). + with(:updating_notes). + and_return(false) + + put(:update, + namespace_id: project.namespace.path, + project_id: project.path, + id: note.id) + + expect(response.status).to eq(503) + end + end + end describe 'POST #toggle_award_emoji' do before do @@ -32,5 +75,18 @@ describe Projects::NotesController do expect(response.status).to eq(200) end + + context 'when toggling award emoji is disabled' do + it 'responds with a service unavailable error' do + expect(Gitlab::Feature).to receive(:feature_enabled?). + with(:toggling_award_emoji). + and_return(false) + + post(:toggle_award_emoji, namespace_id: project.namespace.path, + project_id: project.path, id: note.id, name: "thumbsup") + + expect(response.status).to eq(503) + end + end end end |