Sha256: c1e51c3b7291856e4898ccf865ee4d2d71148ffced3b871a72485dc0e51ca2f9

Contents?: true

Size: 1.12 KB

Versions: 38

Compression:

Stored size: 1.12 KB

Contents

require 'spec_helper'

describe NilValidator do
  subject(:nil_validator) do
    described_class.new(
        :attributes => attributes
    )
  end

  let(:attribute) do
    :nil_thing
  end

  let(:attributes) do
    [
        attribute
    ]
  end

  context '#validate_each' do
    subject(:validate_each) do
      nil_validator.validate_each(record, attribute, value)
    end

    let(:record) do
      record_class.new
    end

    let(:record_class) do
      # capture attribute for Class.new scope
      attribute = self.attribute

      Class.new do
        include ActiveModel::Validations

        #
        # Validations
        #

        validates attribute,
                  :nil => true
      end
    end

    context 'with value' do
      let(:value) do
        ''
      end

      it 'should record error on attribute' do
        validate_each

        record.errors[attribute].should include('must be nil')
      end
    end

    context 'without value' do
      let(:value) do
        nil
      end

      it 'should not record any error' do
        validate_each

        record.errors.should be_empty
      end
    end
  end
end

Version data entries

38 entries across 38 versions & 1 rubygems

Version Path
metasploit-model-1.0.0.pre.rails.pre.4.0 spec/app/validators/nil_validator_spec.rb
metasploit-model-0.30.0 spec/app/validators/nil_validator_spec.rb
metasploit-model-0.30.0-java spec/app/validators/nil_validator_spec.rb
metasploit-model-0.29.2 spec/app/validators/nil_validator_spec.rb
metasploit-model-0.29.2-java spec/app/validators/nil_validator_spec.rb
metasploit-model-0.29.0 spec/app/validators/nil_validator_spec.rb
metasploit-model-0.29.0-java spec/app/validators/nil_validator_spec.rb
metasploit-model-0.28.0 spec/app/validators/nil_validator_spec.rb
metasploit-model-0.28.0-java spec/app/validators/nil_validator_spec.rb
metasploit-model-0.28.0.pre.engine.pre.requires spec/app/validators/nil_validator_spec.rb
metasploit-model-0.27.4 spec/app/validators/nil_validator_spec.rb
metasploit-model-0.27.4-java spec/app/validators/nil_validator_spec.rb
metasploit-model-0.27.3 spec/app/validators/nil_validator_spec.rb
metasploit-model-0.27.3-java spec/app/validators/nil_validator_spec.rb
metasploit-model-0.27.2 spec/app/validators/nil_validator_spec.rb
metasploit-model-0.27.2-java spec/app/validators/nil_validator_spec.rb
metasploit-model-0.27.1 spec/app/validators/nil_validator_spec.rb
metasploit-model-0.27.1-java spec/app/validators/nil_validator_spec.rb
metasploit-model-0.27.0 spec/app/validators/nil_validator_spec.rb
metasploit-model-0.27.0-java spec/app/validators/nil_validator_spec.rb