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

73 lines
2.0 KiB
Ruby

require 'spec_helper'
describe UserPresence do
let(:user1) { FactoryGirl.create(:user) }
let(:user2) { FactoryGirl.create(:user) }
describe "index" do
before(:all) do
@user1_presence1 = UserPresence.new(:user_id => user1.id, :username => "myonlineusername", :type => "facebook")
@user1_presence1.save!
@user1_presence2 = UserPresence.new(:user_id => user1.id, :username => "myonlineusername", :type => "twitter")
@user1_presence2.save!
@user2_presence1 = UserPresence.new(:user_id => user2.id, :username => "myonlineusername", :type => "soundcloud")
@user2_presence1.save!
end
context "when request is valid" do
it "should return all records for user" do
presence = UserPresence.index({:id => user1.id})
presence.count.should == 2
presence = UserPresence.index({:id => user2.id})
presence.count.should == 1
end
end
context "when request is invalid" do
it "should raise error when options are missing" do
lambda{UserPresence.index}.should raise_error(JamArgumentError)
end
it "should raise error when user id is missing" do
lambda{UserPresence.index({:id => ""})}.should raise_error(JamArgumentError)
end
end
end
describe "save" do
context "when request is valid" do
it "should save successfully" do
end
end
context "when request is not valid" do
it "should raise PermissionError if requester id does not match id in request" do
end
it "should raise error if type is missing" do
end
it "should raise error if username is missing" do
end
end
end
describe "destroy" do
context "when request is valid" do
it "should destroy successfully" do
end
end
context "when request is not valid" do
it "should raise PermissionError if requester id does not match id in request" do
end
it "should raise error if user presence id is missing" do
end
end
end
end