Validates uniqueness of title unless label is a template

This commit is contained in:
Douglas Barbosa Alexandre 2016-09-20 00:17:04 -03:00
parent bdb7bf4b51
commit 9463551ece
2 changed files with 3 additions and 4 deletions

View file

@ -26,10 +26,8 @@ class Label < ActiveRecord::Base
validates :project, presence: true, if: :project_label? validates :project, presence: true, if: :project_label?
# Don't allow ',' for label titles # Don't allow ',' for label titles
validates :title, validates :title, presence: true, format: { with: /\A[^,]+\z/ }
presence: true, validates :title, uniqueness: true, unless: :template?
format: { with: /\A[^,]+\z/ },
uniqueness: { scope: :project_id }
before_save :nullify_priority before_save :nullify_priority

View file

@ -19,6 +19,7 @@ describe Label, models: true do
describe 'validation' do describe 'validation' do
it { is_expected.to validate_presence_of(:project) } it { is_expected.to validate_presence_of(:project) }
it { is_expected.to validate_uniqueness_of(:title) }
it 'validates color code' do it 'validates color code' do
expect(label).not_to allow_value('G-ITLAB').for(:color) expect(label).not_to allow_value('G-ITLAB').for(:color)