diff options
author | Douglas Barbosa Alexandre <dbalexandre@gmail.com> | 2016-09-20 06:17:04 +0300 |
---|---|---|
committer | Douglas Barbosa Alexandre <dbalexandre@gmail.com> | 2016-10-19 19:58:24 +0300 |
commit | 9463551ece6c12574559a4768943ab90db7f617b (patch) | |
tree | a4fc438116b4cac6180df8ff8d8d974ad5d4d0c2 | |
parent | bdb7bf4b5188ffd68e54cbf671ba9ce1a4ffb1d1 (diff) |
Validates uniqueness of title unless label is a template
-rw-r--r-- | app/models/label.rb | 6 | ||||
-rw-r--r-- | spec/models/label_spec.rb | 1 |
2 files changed, 3 insertions, 4 deletions
diff --git a/app/models/label.rb b/app/models/label.rb index f43bebbf71b..be0c20479d5 100644 --- a/app/models/label.rb +++ b/app/models/label.rb @@ -26,10 +26,8 @@ class Label < ActiveRecord::Base validates :project, presence: true, if: :project_label? # Don't allow ',' for label titles - validates :title, - presence: true, - format: { with: /\A[^,]+\z/ }, - uniqueness: { scope: :project_id } + validates :title, presence: true, format: { with: /\A[^,]+\z/ } + validates :title, uniqueness: true, unless: :template? before_save :nullify_priority diff --git a/spec/models/label_spec.rb b/spec/models/label_spec.rb index 5a5d1a5d60c..894021dc8e6 100644 --- a/spec/models/label_spec.rb +++ b/spec/models/label_spec.rb @@ -19,6 +19,7 @@ describe Label, models: true do describe 'validation' do it { is_expected.to validate_presence_of(:project) } + it { is_expected.to validate_uniqueness_of(:title) } it 'validates color code' do expect(label).not_to allow_value('G-ITLAB').for(:color) |