73 lines
2.0 KiB
Ruby
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 |