Sha256: e30d903cff7f2745b61fc86c1d6ec904fba191a6c1580edeae8ebc1164b6aa0e
Contents?: true
Size: 1.84 KB
Versions: 2
Compression:
Stored size: 1.84 KB
Contents
require 'spec_helper' describe 'acts_as_address' do def klass described_class end # These models' table only have a single column for state and country. # This tests both the default (zero-config) behavior and how the same column can be used for # non-default (name or code). describe AddressWithNameOnly do it do expect(klass.state_name_attribute).to eq :state expect(klass.state_code_attribute).to eq nil expect(klass.country_name_attribute).to eq :country expect(klass.country_code_attribute).to eq nil end end describe AddressWithCodeOnly do it do expect(klass.state_name_attribute).to eq nil expect(klass.state_code_attribute).to eq :state expect(klass.country_name_attribute).to eq nil expect(klass.country_code_attribute).to eq :country end end # You can't use the same column for both name and code. If config tries to do that, which one # takes precedence? describe 'name_attribute == code_attribute' do let(:klass) do Class.new(ApplicationRecord) do self.table_name = 'addresses' acts_as_address( country: { name_attribute: 'country', code_attribute: 'country', } ) end end let(:address) { klass.new } it 'name takes precedence' do expect(klass.country_name_attribute).to eq :country expect(klass.country_code_attribute).to eq nil end end describe 'address lines' do describe Address do it do expect(klass.multi_line_address?).to eq true expect(klass.address_attributes).to eq [:address] end end describe AddressWithSeparateAddressColumns do it do expect(klass.multi_line_address?).to eq false expect(klass.address_attributes).to eq [:address_1, :address_2, :address_3] end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
address_concern-2.1.1 | spec/models/acts_as_address_spec.rb |
address_concern-2.1.0 | spec/models/acts_as_address_spec.rb |