Skip to content
Snippets Groups Projects
test_mode_test.rb 1.62 KiB
Newer Older
  • Learn to ignore specific revisions
  • require 'test_helper'
    
    class TestModeTest < Test::Unit::TestCase
    
      def teardown
        Geocoder::Configuration.reset_stubs
      end
    
      def test_search_with_known_stub
        Geocoder::Configuration.test_mode = true
        attributes = {
          'latitude'   => 40.7143528,
          'longitude'  => -74.0059731,
          'address'    => 'New York, NY, USA',
          'state'      => 'New York',
          'state_code' => 'NY',
          'country'    => 'United States',
          'country_code' => 'US',
        }
        coordinates = [attributes['latitude'], attributes['longitude']]
    
        Geocoder::Configuration.add_stub("New York, NY", [attributes])
    
        results = Geocoder.search("New York, NY")
        assert_equal 1, results.size
    
        result = results.first
        assert_equal coordinates,                result.coordinates
        assert_equal attributes['latitude'],     result.latitude
        assert_equal attributes['longitude'],    result.longitude
        assert_equal attributes['address'],      result.address
        assert_equal attributes['state'],        result.state
        assert_equal attributes['state_code'],   result.state_code
        assert_equal attributes['country'],      result.country
        assert_equal attributes['country_code'], result.country_code
      end
    
      def test_search_with_unknown_stub
        Geocoder::Configuration.test_mode = true
    
        assert_raise ArgumentError do
          Geocoder.search("New York, NY")
        end
      end
    
      def test_turning_off_test_mode_restores_lookup
        original_lookup = Geocoder::Configuration.lookup
        Geocoder::Configuration.test_mode = true
        Geocoder::Configuration.test_mode = false
    
        assert_equal original_lookup, Geocoder::Configuration.lookup
      end
    
    end