Sha256: 45b9ec7bc530860d77454b3df35b16864c103eb374c52ffc97a7343550d7f2f4

Contents?: true

Size: 1021 Bytes

Versions: 7

Compression:

Stored size: 1021 Bytes

Contents

require 'solidus_paypal_commerce_platform_spec_helper'

RSpec.describe SolidusPaypalCommercePlatform::StateGuesser, type: :model do
  let(:country) { create(:country, iso: "IT") }
  let!(:state) { create(:state, country: country, name: "Abruzzo") }

  describe "#guess" do
    context "with a guessable state error" do
      it "correctly guesses the state" do
        expect(
          described_class.new("Pescara", country).guess
        ).to eq state
      end

      it "guesses the state using an abbreviation" do
        expect(
          described_class.new("PE", country).guess
        ).to eq state
      end
    end

    context "with an unsolvable state error" do
      it "returns nil" do
        expect(
          described_class.new("Gondor", country).guess
        ).to be_nil
      end
    end

    context "with an already correct state" do
      it "returns the correct state" do
        expect(
          described_class.new("Abruzzo", country).guess
        ).to eq state
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
solidus_paypal_commerce_platform-1.0.3 spec/models/solidus_paypal_commerce_platform/state_guesser_spec.rb
solidus_paypal_commerce_platform-1.0.2 spec/models/solidus_paypal_commerce_platform/state_guesser_spec.rb
solidus_paypal_commerce_platform-1.0.1 spec/models/solidus_paypal_commerce_platform/state_guesser_spec.rb
solidus_paypal_commerce_platform-1.0.0 spec/models/solidus_paypal_commerce_platform/state_guesser_spec.rb
solidus_paypal_commerce_platform-1.0.0.beta3 spec/models/solidus_paypal_commerce_platform/state_guesser_spec.rb
solidus_paypal_commerce_platform-1.0.0.beta2 spec/models/solidus_paypal_commerce_platform/state_guesser_spec.rb
solidus_paypal_commerce_platform-1.0.0.beta1 spec/models/solidus_paypal_commerce_platform/state_guesser_spec.rb