Merge branch 'add-uniqueness-validation-to-url-column-in-releases-link-model' into 'master'

Add uniqueness validation to url column in Releases::Link model

Closes #55929

See merge request gitlab-org/gitlab-ce!24223
This commit is contained in:
Kamil Trzciński 2019-01-10 09:36:34 +00:00
commit dce04a924a
3 changed files with 16 additions and 1 deletions

View File

@ -6,7 +6,7 @@ module Releases
belongs_to :release
validates :url, presence: true, url: true
validates :url, presence: true, url: true, uniqueness: { scope: :release }
validates :name, presence: true, uniqueness: { scope: :release }
scope :sorted, -> { order(created_at: :desc) }

View File

@ -0,0 +1,5 @@
---
title: Add uniqueness validation to url column in Releases::Link model
merge_request: 24223
author:
type: other

View File

@ -31,6 +31,16 @@ describe Releases::Link do
end.to raise_error(ActiveRecord::RecordInvalid)
end
end
context 'when duplicate url is added to a release' do
let!(:link) { create(:release_link, url: 'http://gitlab.com', release: release) }
it 'raises an error' do
expect do
create(:release_link, url: 'http://gitlab.com', release: release)
end.to raise_error(ActiveRecord::RecordInvalid)
end
end
end
describe '.sorted' do