Sha256: d477dc780ada31b34b1a4a0b6b3e9790d6a9d6345a9e8b066a98b9cd4a386da3
Contents?: true
Size: 793 Bytes
Versions: 6
Compression:
Stored size: 793 Bytes
Contents
RSpec.describe 'Defining base schema class' do subject(:schema) do Dry::Validation.Schema(BaseSchema) do required(:email).filled(:email?) end end before do class BaseSchema < Dry::Validation::Schema configure do |config| config.messages_file = SPEC_ROOT.join('fixtures/locales/en.yml') config.messages = :i18n end def email?(value) true end define! do required(:name).filled end end end after do Object.send(:remove_const, :BaseSchema) end it 'inherits predicates' do expect(schema).to respond_to(:email?) end it 'inherits rules' do expect(schema.(name: nil).messages).to eql( name: ['must be filled'], email: ['is missing', 'must be an email'] ) end end
Version data entries
6 entries across 6 versions & 1 rubygems