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