Sha256: 623818407d43117c921439367e379875c46e5ba3faa44a6358c5ccc0d04e589e

Contents?: true

Size: 1.52 KB

Versions: 32

Compression:

Stored size: 1.52 KB

Contents

require 'spec_helper'
require 'spree/testing_support/factories/address_factory'

RSpec.describe 'address factory' do
  let(:factory_class) { Spree::Address }

  describe 'plain address' do
    let(:factory) { :address }

    it_behaves_like 'a working factory'
  end

  describe 'ship_address' do
    let(:factory) { :ship_address }

    it_behaves_like 'a working factory'
  end

  describe 'bill address' do
    let(:factory) { :bill_address }

    it_behaves_like 'a working factory'
  end

  describe 'when passing in a country iso code' do
    subject { build(:address, country_iso_code: "RO") }

    it 'creates a valid address with actually valid data' do
      expect(subject).to be_valid
    end
  end

  describe 'when passing in a state and country' do
    subject { build(:address, country_iso_code: country_iso_code, state_code: state_code) }

    context 'when the country has a state with proper code' do
      let(:country_iso_code) { "US" }
      let(:state_code) { "NY" }

      it 'works' do
        expect(subject).to be_valid
        expect(subject.state.abbr).to eq("NY")
        expect(subject.country.iso).to eq("US")
      end
    end
  end

  describe 'creating multiple addresses' do
    let!(:address1) { create(:address) }
    let!(:address2) { create(:address) }

    it 'shares the same country and state objects' do
      expect(address1.country).to eq(address2.country)
      expect(address1.state).to eq(address2.state)
      expect(Spree::Country.count).to eq(1)
      expect(Spree::State.count).to eq(1)
    end
  end
end

Version data entries

32 entries across 32 versions & 1 rubygems

Version Path
solidus_core-2.3.1 spec/lib/spree/core/testing_support/factories/address_factory_spec.rb
solidus_core-2.2.2 spec/lib/spree/core/testing_support/factories/address_factory_spec.rb
solidus_core-2.1.1 spec/lib/spree/core/testing_support/factories/address_factory_spec.rb
solidus_core-2.0.3 spec/lib/spree/core/testing_support/factories/address_factory_spec.rb
solidus_core-1.4.2 spec/lib/spree/core/testing_support/factories/address_factory_spec.rb
solidus_core-1.3.2 spec/lib/spree/core/testing_support/factories/address_factory_spec.rb
solidus_core-2.3.0 spec/lib/spree/core/testing_support/factories/address_factory_spec.rb
solidus_core-2.3.0.rc3 spec/lib/spree/core/testing_support/factories/address_factory_spec.rb
solidus_core-2.3.0.rc2 spec/lib/spree/core/testing_support/factories/address_factory_spec.rb
solidus_core-2.3.0.rc1 spec/lib/spree/core/testing_support/factories/address_factory_spec.rb
solidus_core-2.3.0.beta1 spec/lib/spree/core/testing_support/factories/address_factory_spec.rb
solidus_core-2.0.2 spec/lib/spree/core/testing_support/factories/address_factory_spec.rb
solidus_core-1.4.1 spec/lib/spree/core/testing_support/factories/address_factory_spec.rb
solidus_core-2.2.1 spec/lib/spree/core/testing_support/factories/address_factory_spec.rb
solidus_core-2.2.0 spec/lib/spree/core/testing_support/factories/address_factory_spec.rb
solidus_core-2.2.0.rc1 spec/lib/spree/core/testing_support/factories/address_factory_spec.rb
solidus_core-2.2.0.beta1 spec/lib/spree/core/testing_support/factories/address_factory_spec.rb
solidus_core-2.1.0 spec/lib/spree/core/testing_support/factories/address_factory_spec.rb
solidus_core-2.1.0.rc1 spec/lib/spree/core/testing_support/factories/address_factory_spec.rb
solidus_core-2.0.1 spec/lib/spree/core/testing_support/factories/address_factory_spec.rb