Sha256: 4503d1f468044c0767174d5f1daf6e264508a24e488b80a858eb88df0fd8f84a

Contents?: true

Size: 1.47 KB

Versions: 3

Compression:

Stored size: 1.47 KB

Contents

require 'test_helper'

class TestModeTest < Test::Unit::TestCase

  def setup
    @_original_lookup = Geocoder.config.lookup
    Geocoder.configure(:lookup => :test)
  end

  def teardown
    Geocoder::Lookup::Test.reset
    Geocoder.configure(:lookup => @_original_lookup)
  end

  def test_search_with_known_stub
    Geocoder::Lookup::Test.add_stub("New York, NY", [mock_attributes])

    results = Geocoder.search("New York, NY")
    result = results.first

    assert_equal 1, results.size
    mock_attributes.keys.each do |attr|
      assert_equal mock_attributes[attr], result.send(attr)
    end
  end

  def test_search_with_unknown_stub_without_default
    assert_raise ArgumentError do
      Geocoder.search("New York, NY")
    end
  end

  def test_search_with_unknown_stub_with_default
    Geocoder::Lookup::Test.set_default_stub([mock_attributes])

    results = Geocoder.search("Atlantis, OC")
    result = results.first

    assert_equal 1, results.size
    mock_attributes.keys.each do |attr|
      assert_equal mock_attributes[attr], result.send(attr)
    end
  end

  private
  def mock_attributes
    coordinates = [40.7143528, -74.0059731]
    @mock_attributes ||= {
      'coordinates'  => coordinates,
      'latitude'     => coordinates[0],
      'longitude'    => coordinates[1],
      'address'      => 'New York, NY, USA',
      'state'        => 'New York',
      'state_code'   => 'NY',
      'country'      => 'United States',
      'country_code' => 'US',
    }
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
geocoder-1.1.9 test/test_mode_test.rb
geocoder-1.1.8 test/test_mode_test.rb
geocoder-1.1.7 test/test_mode_test.rb