Files
openfoodnetwork/spec/models/spree/addresses_spec.rb
2014-02-21 15:17:18 +11:00

53 lines
1.4 KiB
Ruby

require 'spec_helper'
describe Spree::Address do
describe "associations" do
it { should have_one(:enterprise) }
end
describe "delegation" do
it { should delegate(:name).to(:state).with_prefix }
end
describe "full address" do
let(:address) { FactoryGirl.build(:address) }
it "should include address1, address2, zipcode, city, state and country" do
address.full_address.should include(address.address1)
address.full_address.should include(address.address2)
address.full_address.should include(address.zipcode)
address.full_address.should include(address.city)
address.full_address.should include(address.state.name)
address.full_address.should include(address.country.name)
end
it "should not include empty fields" do
address.address2 = nil
address.city = ""
address.full_address.split(',').length.should eql(4)
end
end
describe "setters" do
it "lets us set a country" do
expect { Spree::Address.new.country = "A country" }.to raise_error ActiveRecord::AssociationTypeMismatch
end
end
describe "notifying bugsnag when saved with missing data" do
it "notifies on create" do
Bugsnag.should_receive(:notify)
a = Spree::Address.new zipcode: nil
a.save validate: false
end
it "notifies on update" do
Bugsnag.should_receive(:notify)
a = create(:address)
a.zipcode = nil
a.save validate: false
end
end
end