Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean McGivern <sean@mcgivern.me.uk>2017-10-06 19:47:27 +0300
committerSean McGivern <sean@mcgivern.me.uk>2017-10-06 19:47:27 +0300
commita68a39e34120e0cf67d95e143326d03f61288cdf (patch)
treed979ff0c94c6b78a4c19e55fda18b1f2c88ba852 /spec/controllers/projects
parent8c4dea25d4b76d75d83d22b9925d784ec09b46f9 (diff)
parent26f6065ec686d16a053e33f031779a8e75f0c5c9 (diff)
Merge branch '18608-lock-issues-v2' into 'master'
Resolve "Lock issue and merge request" Closes #18608 See merge request gitlab-org/gitlab-ce!14531
Diffstat (limited to 'spec/controllers/projects')
-rw-r--r--spec/controllers/projects/notes_controller_spec.rb50
1 files changed, 50 insertions, 0 deletions
diff --git a/spec/controllers/projects/notes_controller_spec.rb b/spec/controllers/projects/notes_controller_spec.rb
index c0337f96fc6..e3114e5c06e 100644
--- a/spec/controllers/projects/notes_controller_spec.rb
+++ b/spec/controllers/projects/notes_controller_spec.rb
@@ -266,6 +266,56 @@ describe Projects::NotesController do
end
end
end
+
+ context 'when the merge request discussion is locked' do
+ before do
+ project.update_attribute(:visibility_level, Gitlab::VisibilityLevel::PUBLIC)
+ merge_request.update_attribute(:discussion_locked, true)
+ end
+
+ context 'when a noteable is not found' do
+ it 'returns 404 status' do
+ request_params[:note][:noteable_id] = 9999
+ post :create, request_params.merge(format: :json)
+
+ expect(response).to have_http_status(404)
+ end
+ end
+
+ context 'when a user is a team member' do
+ it 'returns 302 status for html' do
+ post :create, request_params
+
+ expect(response).to have_http_status(302)
+ end
+
+ it 'returns 200 status for json' do
+ post :create, request_params.merge(format: :json)
+
+ expect(response).to have_http_status(200)
+ end
+
+ it 'creates a new note' do
+ expect { post :create, request_params }.to change { Note.count }.by(1)
+ end
+ end
+
+ context 'when a user is not a team member' do
+ before do
+ project.project_member(user).destroy
+ end
+
+ it 'returns 404 status' do
+ post :create, request_params
+
+ expect(response).to have_http_status(404)
+ end
+
+ it 'does not create a new note' do
+ expect { post :create, request_params }.not_to change { Note.count }
+ end
+ end
+ end
end
describe 'DELETE destroy' do