Sha256: a20f7325c07d1420863188df1c04d5cfe524f8103e5023cdbfbabcc6d11bfefd

Contents?: true

Size: 1.54 KB

Versions: 13

Compression:

Stored size: 1.54 KB

Contents

require 'test_helper'
ActiveValidators.activate(:siren)

describe "Siren Validation" do
  it "Rejects if not supplied" do
    subject = build_siren_record true
    subject.valid?.must_equal false
    subject.errors.size.must_equal 1
  end

  describe 'supplied as a string' do
    it "Accepts if valid" do
      subject = build_siren_record true, :siren => '552100554'
      subject.valid?.must_equal true
      subject.errors.size.must_equal 0
    end

    it "Reject if invalid" do
      subject = build_siren_record true, :siren => '552100553'
      subject.valid?.must_equal false
      subject.errors.size.must_equal 1
    end

    it "Reject if not the right size" do
      subject = build_siren_record true, :siren => '55210055'
      subject.valid?.must_equal false
      subject.errors.size.must_equal 1
    end
  end

  describe 'supplied as a number' do
    it "Accepts if valid" do
      subject = build_siren_record true, :siren => 732829320
      subject.valid?.must_equal true
      subject.errors.size.must_equal 0
    end

    it "Reject if invalid" do
      subject = build_siren_record true, :siren => 732829321
      subject.valid?.must_equal false
      subject.errors.size.must_equal 1
    end

    it "Reject if not the right size" do
      subject = build_siren_record true, :siren => 73282932
      subject.valid?.must_equal false
      subject.errors.size.must_equal 1
    end
  end

  def build_siren_record siren, attrs = {}
    TestRecord.reset_callbacks(:validate)
    TestRecord.validates :siren, :siren => siren
    TestRecord.new attrs
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
activevalidators-5.1.0 test/validations/siren_test.rb
activevalidators-5.0.1 test/validations/siren_test.rb
activevalidators-5.0.0 test/validations/siren_test.rb
activevalidators-4.1.0 test/validations/siren_test.rb
activevalidators-4.0.3 test/validations/siren_test.rb
activevalidators-4.0.2 test/validations/siren_test.rb
activevalidators-4.0.1 test/validations/siren_test.rb
activevalidators-4.0.0 test/validations/siren_test.rb
activevalidators-3.3.0 test/validations/siren_test.rb
activevalidators-3.2.0 test/validations/siren_test.rb
activevalidators-3.1.2 test/validations/siren_test.rb
activevalidators-3.1.1 test/validations/siren_test.rb
activevalidators-3.0.0 test/validations/siren_test.rb