Sha256: 88e50d10e4d4564585ef8384e9aa264270c4bceeb04815741351f1f1bd2ba961

Contents?: true

Size: 967 Bytes

Versions: 1

Compression:

Stored size: 967 Bytes

Contents

RSpec.describe 'Macros #confirmation' do
  describe 'with a maybe password with min-size specified' do
    subject(:schema) do
      Dry::Validation.Schema do
        configure do
          def self.messages
            Messages.default.merge(
              en: { errors: { password_confirmation: 'does not match' } }
            )
          end
        end

        key(:password).maybe(min_size?: 3).confirmation
      end
    end

    it 'passes when values are equal' do
      expect(schema.(password: 'foo', password_confirmation: 'foo')).to be_success
    end

    it 'fails when source value is invalid' do
      expect(schema.(password: 'fo', password_confirmation: '').messages).to eql(
        password: ['size cannot be less than 3']
      )
    end

    it 'fails when values are not equal' do
      expect(schema.(password: 'foo', password_confirmation: 'fo').messages).to eql(
        password_confirmation: ['does not match']
      )
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
dry-validation-0.7.0 spec/integration/schema/macros/confirmation_spec.rb