Sha256: aa0cfddc261de1dedd8e1578ce140d65f8213500b628bb010b573aeefb34ab67
Contents?: true
Size: 689 Bytes
Versions: 3
Compression:
Stored size: 689 Bytes
Contents
RSpec.describe Schema, 'using generic rules' do subject(:validate) { schema.new } let(:schema) do Class.new(Schema) do def self.messages Messages.default.merge( en: { errors: { destiny: 'you must select either red or blue' } } ) end optional(:red, &:filled?) optional(:blue, &:filled?) rule(:destiny) { rule(:red) | rule(:blue) } end end it 'passes when only red is filled' do expect(validate.(red: '1')).to be_empty end it 'fails when red and blue are not filled ' do expect(validate.(red: '', blue: '').messages[:destiny]).to eql( [['you must select either red or blue'], ''] ) end end
Version data entries
3 entries across 3 versions & 1 rubygems