Sha256: d4551439554078da8669f9d73738309d47e4ece3ef55a17c866adb0f8d98ac09

Contents?: true

Size: 1.72 KB

Versions: 8

Compression:

Stored size: 1.72 KB

Contents

require_relative '../../spec_helper'

module Barometer::Query
  describe Converter::FromWoeIdOrIpv4ToGeocode, vcr: {
    match_requests_on: [:method, :uri],
    cassette_name: 'Converter::FromWoeIdOrIpv4ToGeocode'
  } do
    describe '.call' do
      it 'converts :woe_id -> :geocode' do
        query = Barometer::Query.new('615702')

        converter = Converter::FromWoeIdOrIpv4ToGeocode.new(query)
        converted_query = converter.call

        expect( converted_query.q ).to eq 'Paris, Ile-de-France, France'
        expect( converted_query.format ).to eq :geocode
        expect( converted_query.geo ).not_to be_nil
      end

      it 'uses a previous :woe_id coversion (if needed) on the query' do
        query = Barometer::Query.new('40.697488,-73.979681')
        query.add_conversion(:woe_id, '615702')

        converter = Converter::FromWoeIdOrIpv4ToGeocode.new(query)
        converted_query = converter.call

        expect( converted_query.q ).to eq 'Paris, Ile-de-France, France'
        expect( converted_query.format ).to eq :geocode
        expect( converted_query.geo ).not_to be_nil
      end

      it 'converts :ipv4_address -> :geocode' do
        query = Barometer::Query.new('8.8.8.8')

        converter = Converter::FromWoeIdOrIpv4ToGeocode.new(query)
        converted_query = converter.call

        expect( converted_query.q ).to eq 'Mountain View, CA, United States'
        expect( converted_query.format ).to eq :geocode
        expect( converted_query.geo ).not_to be_nil
      end

      it 'does not convert any other format' do
        query = Barometer::Query.new('90210')

        converter = Converter::FromWoeIdOrIpv4ToGeocode.new(query)
        expect( converter.call ).to be_nil
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
barometer-0.9.7 spec/query/converters/from_woe_id_or_ipv4_to_geocode_spec.rb
barometer-0.9.6 spec/query/converters/from_woe_id_or_ipv4_to_geocode_spec.rb
barometer-0.9.5 spec/query/converters/from_woe_id_or_ipv4_to_geocode_spec.rb
barometer-0.9.4 spec/query/converters/from_woe_id_or_ipv4_to_geocode_spec.rb
barometer-0.9.3 spec/query/converters/from_woe_id_or_ipv4_to_geocode_spec.rb
barometer-0.9.2 spec/query/converters/from_woe_id_or_ipv4_to_geocode_spec.rb
barometer-0.9.1 spec/query/converters/from_woe_id_or_ipv4_to_geocode_spec.rb
barometer-0.9.0 spec/query/converters/from_woe_id_or_ipv4_to_geocode_spec.rb