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

Add test

Add changelog
This commit is contained in:
Shinya Maeda 2019-01-08 19:14:05 +09:00
parent ba5a9033cf
commit 50768a25ec
3 changed files with 16 additions and 1 deletions

View File

@ -6,7 +6,7 @@ module Releases
belongs_to :release 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 } validates :name, presence: true, uniqueness: { scope: :release }
scope :sorted, -> { order(created_at: :desc) } 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.to raise_error(ActiveRecord::RecordInvalid)
end end
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 end
describe '.sorted' do describe '.sorted' do