Major refactoring to provide OAuth support for all APIs.
[twitter4r-core.git] / spec / twitter / extras_spec.rb
blob24c2cb8af54469b33b648a65329fe9d423cee3fd
1 require File.join(File.dirname(__FILE__), '..', 'spec_helper')
3 describe Twitter::Client, "#featured(:users)" do
4   before(:each) do
5     @twitter = client_context
6     @uris = Twitter::Client.class_eval("@@FEATURED_URIS")
7     @response = mas_net_http_response(:success)
8     @connection = mas_net_http(@response)
9     Net::HTTP.stub!(:new).and_return(@connection)
10     @users = [
11       Twitter::User.new(:screen_name => 'twitter4r'),
12       Twitter::User.new(:screen_name => 'dictionary'),      
13     ]
14     Twitter::User.stub!(:unmarshal).and_return(@users)
15   end
16   
17   it "should create expected HTTP GET request" do
18     @twitter.should_receive(:rest_oauth_connect).with(:get, @uris[:users]).and_return(@response)
19     @twitter.featured(:users)
20   end
21   
22   it "should bless Twitter::User models returned" do
23     @twitter.should_receive(:bless_models).with(@users).and_return(@users)
24     @twitter.featured(:users)
25   end
26   
27   after(:each) do
28     nilize(@twitter, @uris, @response, @connection)
29   end
30 end
32 describe Twitter::User, ".featured" do
33   before(:each) do
34     @twitter = client_context
35   end
36   
37   it "should delegate #featured(:users) message to given client context" do
38     @twitter.should_receive(:featured).with(:users).and_return([])
39     Twitter::User.featured(@twitter)
40   end
41   
42   after(:each) do
43     nilize(@twitter)
44   end
45 end