spec/base_spec.rb in dschn-twitter-0.3.7.2 vs spec/base_spec.rb in dschn-twitter-0.4.1
- old
+ new
@@ -14,11 +14,15 @@
describe "timelines" do
it "should bomb if given invalid timeline" do
lambda { @base.timeline(:fakeyoutey) }.should raise_error(Twitter::UnknownTimeline)
end
- it "should default to friends timeline"
+ it "should default to friends timeline" do
+ @base.should_receive(:call).with("friends_timeline", {:auth=>true, :args=>{}, :since=>nil})
+ @base.should_receive(:statuses)
+ @base.timeline
+ end
it "should be able to retrieve friends timeline" do
data = open(File.dirname(__FILE__) + '/fixtures/friends_timeline.xml').read
@base.should_receive(:request).and_return(Hpricot::XML(data))
@base.timeline(:friends).size.should == 3
@@ -63,10 +67,24 @@
@base.should_receive(:request).and_return(Hpricot::XML(data))
timeline = @base.followers
timeline.size.should == 29
timeline.first.name.should == 'Blaine Cook'
end
+
+ it "should be able to create a friendship" do
+ data = open(File.dirname(__FILE__) + '/fixtures/friendship_created.xml').read
+ @base.should_receive(:request).and_return(Hpricot::XML(data))
+ user = @base.create_friendship('jnunemaker')
+ end
+
+ it "should bomb if friendship already exists" do
+ data = open(File.dirname(__FILE__) + '/fixtures/friendship_already_exists.xml').read
+ response = Net::HTTPForbidden.new("1.1", '403', '')
+ response.stub!(:body).and_return(data)
+ @base.should_receive(:response).and_return(response)
+ lambda { @base.create_friendship('billymeltdown') }.should raise_error(Twitter::AlreadyFollowing)
+ end
end
it "should be able to get single status" do
data = open(File.dirname(__FILE__) + '/fixtures/status.xml').read
@base.should_receive(:request).and_return(Hpricot::XML(data))
@@ -104,6 +122,6 @@
it "should have remaining hits" do
@base.rate_limit_status.remaining_hits.should == 5
end
end
-end
\ No newline at end of file
+end