Sha256: 8de2cd367bc8890994d7ee39cfac1fb8d876c270462c026ca50ddfe9e9b40005
Contents?: true
Size: 1.36 KB
Versions: 3
Compression:
Stored size: 1.36 KB
Contents
require 'spec_helper' describe InequalityValidator do subject(:model) { klass.new } describe do let(:klass) do Class.new do include ActiveModel::Validations attr_accessor :attr validates :attr, inequality: { to: 'invalid value' } end end it { is_expected.to allow_value('valid value').for(:attr) } it { is_expected.not_to allow_value('invalid value').for(:attr) } end describe do let(:klass) do Class.new do include ActiveModel::Validations attr_accessor :origin, :destination, :airline validates :origin, inequality: { to: ->(o) { o.destination } } end end specify 'both fields have same values' do model.origin = model.destination = 'MOW' expect(model).to be_invalid end specify 'fields have different value' do model.origin = 'NYC' model.destination = 'MOW' expect(model).to be_valid end specify 'first field has value, the second is nil' do model.origin = 'NYC' model.destination = nil expect(model).to be_valid end specify 'first field is nil, the second has value' do model.origin = nil model.destination = 'NYC' expect(model).to be_valid end specify 'both fields are nil' do model.origin = model.destination = nil expect(model).to be_invalid end end end
Version data entries
3 entries across 3 versions & 1 rubygems