jam-cloud/ruby/spec/jam_ruby/models/connection_spec.rb

52 lines
1.7 KiB
Ruby

require 'spec_helper'
describe JamRuby::Connection do
let(:user) { FactoryGirl.create(:user) }
let (:music_session) { FactoryGirl.create(:active_music_session, :creator => user) }
it 'starts in the correct state' do
connection = FactoryGirl.create(:connection,
:user => user,
:music_session => music_session,
:ip_address => "1.1.1.1",
:client_id => "1")
connection.idle?.should be_true
end
it 'transitions properly' do
connection = FactoryGirl.create(:connection,
:user => user,
:music_session => music_session,
:ip_address => "1.1.1.1",
:client_id => "1")
connection.connect!
connection.connected?.should be_true
connection.state_message.should == 'Connected'
connection.stale!
connection.stale?.should be_true
connection.state_message.should == 'Stale'
connection.expire!
connection.destroyed?.should be_true
end
it 'updates user lat/lng' do
pending 'distance search changes'
uu = FactoryGirl.create(:user)
uu.lat.should == nil
msess = FactoryGirl.create(:active_music_session, :creator => uu)
geocode = FactoryGirl.create(:geocoder)
connection = FactoryGirl.create(:connection,
:user => uu,
:music_session => msess,
:ip_address => "1.1.1.1",
:client_id => "1")
user.lat.should == geocode.lat
user.lng.should == geocode.lng
end
end