twitter-status-bot/.gems/gems/twitter-5.11.0/spec/twitter/rest/geo_spec.rb

69 lines
3.0 KiB
Ruby

require 'helper'
describe Twitter::REST::PlacesAndGeo do
before do
@client = Twitter::REST::Client.new(:consumer_key => 'CK', :consumer_secret => 'CS', :access_token => 'AT', :access_token_secret => 'AS')
end
describe '#place' do
before do
stub_get('/1.1/geo/id/247f43d441defc03.json').to_return(:body => fixture('place.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
end
it 'requests the correct resource' do
@client.place('247f43d441defc03')
expect(a_get('/1.1/geo/id/247f43d441defc03.json')).to have_been_made
end
it 'returns a place' do
place = @client.place('247f43d441defc03')
expect(place.name).to eq('Twitter HQ')
end
end
describe '#reverse_geocode' do
before do
stub_get('/1.1/geo/reverse_geocode.json').with(:query => {:lat => '37.7821120598956', :long => '-122.400612831116'}).to_return(:body => fixture('places.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
end
it 'requests the correct resource' do
@client.reverse_geocode(:lat => '37.7821120598956', :long => '-122.400612831116')
expect(a_get('/1.1/geo/reverse_geocode.json').with(:query => {:lat => '37.7821120598956', :long => '-122.400612831116'})).to have_been_made
end
it 'returns places' do
places = @client.reverse_geocode(:lat => '37.7821120598956', :long => '-122.400612831116')
expect(places).to be_a Twitter::GeoResults
expect(places.first.name).to eq('Bernal Heights')
end
end
describe '#geo_search' do
before do
stub_get('/1.1/geo/search.json').with(:query => {:ip => '74.125.19.104'}).to_return(:body => fixture('places.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
end
it 'requests the correct resource' do
@client.geo_search(:ip => '74.125.19.104')
expect(a_get('/1.1/geo/search.json').with(:query => {:ip => '74.125.19.104'})).to have_been_made
end
it 'returns nearby places' do
places = @client.geo_search(:ip => '74.125.19.104')
expect(places).to be_a Twitter::GeoResults
expect(places.first.name).to eq('Bernal Heights')
end
end
describe '#similar_places' do
before do
stub_get('/1.1/geo/similar_places.json').with(:query => {:lat => '37.7821120598956', :long => '-122.400612831116', :name => 'Twitter HQ'}).to_return(:body => fixture('places.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
end
it 'requests the correct resource' do
@client.similar_places(:lat => '37.7821120598956', :long => '-122.400612831116', :name => 'Twitter HQ')
expect(a_get('/1.1/geo/similar_places.json').with(:query => {:lat => '37.7821120598956', :long => '-122.400612831116', :name => 'Twitter HQ'})).to have_been_made
end
it 'returns similar places' do
places = @client.similar_places(:lat => '37.7821120598956', :long => '-122.400612831116', :name => 'Twitter HQ')
expect(places).to be_a Twitter::GeoResults
expect(places.first.name).to eq('Bernal Heights')
end
end
end