Sha256: 45aed947fd7aab76f836d0498e6c68878b38e6d2953d5a3e59397f897496b7b8

Contents?: true

Size: 1023 Bytes

Versions: 10

Compression:

Stored size: 1023 Bytes

Contents

require "spec_helper"

RSpec.describe ZipcodeService, type: :service do
  describe '.find', :vcr do
    context 'when pass a valid zipcode' do
      let!(:zipcode) { ZipcodeService.find('05012010') }

      it { expect(zipcode).not_to be_nil}
      it { expect(zipcode[:cidade]).to eq('São Paulo')}
      it { expect(zipcode[:bairro]).to eq('Vila Pompeia')}
      it { expect(zipcode[:logradouro]).to eq('Ministro Gastão Mesquita')}
      it { expect(zipcode[:tipo_logradouro]).to eq('Rua')}
      it { expect(zipcode[:uf]).to eq('SP')}
      it { expect(zipcode[:zipcode]).to eq('05012010')}
    end

    context 'when pass a invalid zipcode' do
      it { expect { ZipcodeService.find('99999999') }.to raise_error(ZipcodeNotFound) }
    end

    context 'when server is not avaialable' do
      before do
        allow_any_instance_of(Net::HTTPOK).to receive(:kind_of?).and_return(false)
      end
      
      it { expect { ZipcodeService.find('05012010') }.to raise_error(WebServiceNotAvaialable) }
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
addresses-1.0.11 spec/services/zipcode_service_spec.rb
addresses-1.0.9 spec/services/zipcode_service_spec.rb
addresses-1.0.8 spec/services/zipcode_service_spec.rb
addresses-1.0.7 spec/services/zipcode_service_spec.rb
addresses-1.0.6 spec/services/zipcode_service_spec.rb
addresses-1.0.5 spec/services/zipcode_service_spec.rb
addresses-1.0.4 spec/services/zipcode_service_spec.rb
addresses-1.0.3 spec/services/zipcode_service_spec.rb
addresses-1.0.2 spec/services/zipcode_service_spec.rb
addresses-1.0.1 spec/services/zipcode_service_spec.rb