Commit 083179e9 authored by Shinya Maeda's avatar Shinya Maeda

Add a test for checking validates :key does not override by concern

parent 41aebaa1
......@@ -6,6 +6,40 @@ describe Ci::Variable, models: true do
it { is_expected.to be_kind_of(HasVariable) }
it { is_expected.to validate_uniqueness_of(:key).scoped_to(:project_id) }
describe 'validates :key' do
let(:project) { create(:project) }
it 'be invalid if it exceeds maximum' do
expect do
create(:ci_variable, project: project, key: "A"*256)
end.to raise_error(ActiveRecord::RecordInvalid)
end
it 'be invalid if violates constraints' do
expect do
create(:ci_variable, project: project, key: "*")
end.to raise_error(ActiveRecord::RecordInvalid)
end
context 'when there is a variable' do
before do
create(:ci_variable, key: 'AAA', project: project)
end
it 'be valid if it is unique' do
expect do
create(:ci_variable, project: project, key: 'CCC')
end.not_to raise_error
end
it 'be invalid if it is duplicated' do
expect do
create(:ci_variable, project: project, key: 'AAA')
end.to raise_error(ActiveRecord::RecordInvalid)
end
end
end
describe '.unprotected' do
subject { described_class.unprotected }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment