added query

This commit is contained in:
Ilya Zhitomirskiy 2011-10-11 15:37:35 -07:00
parent 496dae1607
commit fa44ff6931
2 changed files with 32 additions and 0 deletions

View file

@ -72,6 +72,17 @@ SQL
SQL
end
def fb_connected_distribution_sql
<<SQL
SELECT users.id AS id, users.sign_in_count AS count, count(services.id) AS connected
FROM users
LEFT OUTER JOIN services on services.user_id = users.id
AND services.type = 'Services::Facebook'
#{self.where_clause_sql}
GROUP BY users.id
SQL
end
def sign_in_count_sql
<<SQL
SELECT users.id AS id, users.sign_in_count AS count

View file

@ -83,6 +83,26 @@ describe Statistics do
end
end
describe "#fb_connected_distribution_sql" do
it "pulls back an array of sign_in_counts, connected, uids" do
bob.sign_in_count = 1
bob.services << Factory(:service, :type => "Services::Facebook", :user => bob)
bob.save!
eve.services << Factory(:service, :type => "Services::Facebook", :user => eve)
eve.save!
@result = [{"id" => alice.id , "count" => 0, "connected" => 0 },
{"id" => bob.id , "count" => 1, "connected" => 1 },
{"id" => eve.id , "count" => 0, "connected" => 1 },
{"id" => local_luke.id , "count" => 0, "connected" => 0 },
{"id" => local_leia.id , "count" => 0, "connected" => 0 }]
User.connection.select_all(@stats.fb_connected_distribution_sql).should =~ @result
end
end
["posts_count", "comments_count", "invites_sent_count", "tags_followed_count",
"mentions_count", "sign_in_count", "contacts_sharing_with_count" ].each do |method|
@ -101,6 +121,7 @@ describe Statistics do
end
end
describe "#correlation" do
it 'returns the correlation coefficient' do
@stats.correlation([1,2],[1,2]).to_s.should == 1.0.to_s