Sha256: d765863d09c6bfceb76cebd8613d77bafe4e78c9138b29d0656841b6ea9f3d1a

Contents?: true

Size: 1.04 KB

Versions: 4

Compression:

Stored size: 1.04 KB

Contents

require File.dirname(__FILE__) + '/spec_helper'

class BsnTest
  include ActiveModel::Validations
  attr_accessor :number
  validates :number, :bsn => true
end

describe BsnValidator do
  subject {
    BsnTest.new
  }

  it "accepts an 8 digit bsn" do
    subject.number = "12345672"
    subject.should be_valid
  end

  it "accepts a 9 digit bsn" do
    subject.number = "123456782"
    subject.should be_valid
  end

  it "rejects too short bsn numbers" do
    subject.number = "123"
    subject.should_not be_valid
    subject.errors[:number].should be_present
  end

  it "rejects too long bsn numbers" do
    subject.number = "123456789012345"
    subject.should_not be_valid
    subject.errors[:number].should be_present
  end

  it "rejects obvious incorrect bsn numbers" do
    subject.number = "NOTAXES"
    subject.should_not be_valid
    subject.errors[:number].should be_present
  end

  it "rejects mistyped bsn numbers" do
    subject.number = "123456789012345"
    subject.should_not be_valid
    subject.errors[:number].should be_present
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
elfproef-0.2.0 spec/bsn_validator_spec.rb
elfproef-0.1.4 spec/bsn_validator_spec.rb
elfproef-0.1.3 spec/bsn_validator_spec.rb
elfproef-0.1.2 spec/bsn_validator_spec.rb