mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-25 20:46:48 +00:00
53 lines
1.4 KiB
Ruby
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
|