diff options
Diffstat (limited to 'spec/support')
-rw-r--r-- | spec/support/shared_examples/models/atomic_internal_id_spec.rb | 29 |
1 files changed, 6 insertions, 23 deletions
diff --git a/spec/support/shared_examples/models/atomic_internal_id_spec.rb b/spec/support/shared_examples/models/atomic_internal_id_spec.rb index 7ab1041d17c..6a6e13418a9 100644 --- a/spec/support/shared_examples/models/atomic_internal_id_spec.rb +++ b/spec/support/shared_examples/models/atomic_internal_id_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -shared_examples_for 'AtomicInternalId' do |validate_presence: true| +shared_examples_for 'AtomicInternalId' do describe '.has_internal_id' do describe 'Module inclusion' do subject { described_class } @@ -9,31 +9,14 @@ shared_examples_for 'AtomicInternalId' do |validate_presence: true| end describe 'Validation' do - before do - allow_any_instance_of(described_class).to receive(:"ensure_#{scope}_#{internal_id_attribute}!") - - instance.valid? - end - - context 'when presence validation is required' do - before do - skip unless validate_presence - end + subject { instance } - it 'validates presence' do - expect(instance.errors[internal_id_attribute]).to include("can't be blank") - end + before do + allow(InternalId).to receive(:generate_next).and_return(nil) end - context 'when presence validation is not required' do - before do - skip if validate_presence - end - - it 'does not validate presence' do - expect(instance.errors[internal_id_attribute]).to be_empty - end - end + it { is_expected.to validate_presence_of(internal_id_attribute) } + it { is_expected.to validate_numericality_of(internal_id_attribute) } end describe 'Creating an instance' do |