Skip to content
Snippets Groups Projects
Commit 5b220b38 authored by Rémy Coutable's avatar Rémy Coutable
Browse files

Merge branch 'master' of dev.gitlab.org:gitlab/gitlabhq

parents 920551b5 d38dd3c4
No related branches found
No related tags found
No related merge requests found
Loading
@@ -1067,10 +1067,6 @@ class Project < ActiveRecord::Base
Loading
@@ -1067,10 +1067,6 @@ class Project < ActiveRecord::Base
forks.count forks.count
end end
   
def find_label(name)
labels.find_by(name: name)
end
def origin_merge_requests def origin_merge_requests
merge_requests.where(source_project_id: self.id) merge_requests.where(source_project_id: self.id)
end end
Loading
Loading
Loading
@@ -25,7 +25,7 @@ module API
Loading
@@ -25,7 +25,7 @@ module API
post ':id/labels' do post ':id/labels' do
authorize! :admin_label, user_project authorize! :admin_label, user_project
   
label = user_project.find_label(params[:name]) label = available_labels.find_by(title: params[:name])
conflict!('Label already exists') if label conflict!('Label already exists') if label
   
label = user_project.labels.create(declared(params, include_parent_namespaces: false).to_h) label = user_project.labels.create(declared(params, include_parent_namespaces: false).to_h)
Loading
@@ -46,7 +46,7 @@ module API
Loading
@@ -46,7 +46,7 @@ module API
delete ':id/labels' do delete ':id/labels' do
authorize! :admin_label, user_project authorize! :admin_label, user_project
   
label = user_project.find_label(params[:name]) label = user_project.labels.find_by(title: params[:name])
not_found!('Label') unless label not_found!('Label') unless label
   
present label.destroy, with: Entities::Label, current_user: current_user present label.destroy, with: Entities::Label, current_user: current_user
Loading
@@ -65,7 +65,7 @@ module API
Loading
@@ -65,7 +65,7 @@ module API
put ':id/labels' do put ':id/labels' do
authorize! :admin_label, user_project authorize! :admin_label, user_project
   
label = user_project.find_label(params[:name]) label = user_project.labels.find_by(title: params[:name])
not_found!('Label not found') unless label not_found!('Label not found') unless label
   
update_params = declared(params, update_params = declared(params,
Loading
Loading
Loading
@@ -82,7 +82,20 @@ describe API::API, api: true do
Loading
@@ -82,7 +82,20 @@ describe API::API, api: true do
expect(json_response['message']['title']).to eq(['is invalid']) expect(json_response['message']['title']).to eq(['is invalid'])
end end
   
it 'returns 409 if label already exists' do it 'returns 409 if label already exists in group' do
group = create(:group)
group_label = create(:group_label, group: group)
project.update(group: group)
post api("/projects/#{project.id}/labels", user),
name: group_label.name,
color: '#FFAABB'
expect(response).to have_http_status(409)
expect(json_response['message']).to eq('Label already exists')
end
it 'returns 409 if label already exists in project' do
post api("/projects/#{project.id}/labels", user), post api("/projects/#{project.id}/labels", user),
name: 'label1', name: 'label1',
color: '#FFAABB' color: '#FFAABB'
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment