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

This commit is contained in:
Shinya Maeda 2017-06-27 00:12:52 +09:00
parent 41aebaa103
commit 083179e936

View file

@ -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 }