Sha256: a1e7deacbc8a630c059f55ac6d71bf1e94eb931a97b50f499d2cb516467f594d

Contents?: true

Size: 1.5 KB

Versions: 5

Compression:

Stored size: 1.5 KB

Contents

require 'rails_helper'

RSpec.describe HasVcards::Address do
  before { @address = FactoryGirl.create :address }

  it 'has a valid factory' do
    expect(@address).to be_valid
  end

  describe 'address validation' do

    it 'accepts a valid address' do
      @address.validate_address

      expect(@address.errors).to be_empty
    end

    it 'accepts with an extended address instead of a street address' do
      @address.street_address = nil
      @address.extended_address = 'Alternative Address'
      @address.validate_address

      expect(@address.errors).to be_empty
    end

    it 'accepts with a postal office box instead of a street address' do
      @address.street_address = nil
      @address.post_office_box = '982312'
      @address.validate_address

      expect(@address.errors).to be_empty
    end

    it 'rejects without a postal code' do
      @address.postal_code = nil
      @address.validate_address

      expect(@address.errors.size).to eq 1
      expect(@address.errors.first.first).to eq :postal_code
    end

    it 'rejects without a locality' do
      @address.locality = nil
      @address.validate_address

      expect(@address.errors.size).to eq 1
      expect(@address.errors.first.first).to eq :locality
    end

    it 'rejects without at least an address, an extended address or a post office box' do
      @address.street_address = nil
      @address.validate_address

      expect(@address.errors.size).to eq 3
      expect(@address.errors.first.first).to eq :street_address
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
has_vcards-1.1.2 spec/models/has_vcards/address_spec.rb
has_vcards-1.1.1 spec/models/has_vcards/address_spec.rb
has_vcards-1.1.0 spec/models/has_vcards/address_spec.rb
has_vcards-1.0.0 spec/models/has_vcards/address_spec.rb
has_vcards-1.0.0.rc0 spec/models/has_vcards/address_spec.rb