require 'spec_helper' describe Stratify::Twitter::Presenter do describe "#text" do context "when the tweet is a retweet" do it "prepends 'RT' and the original author's @username to the beginning of a tweet" do activity = Stratify::Twitter::Activity.new( :retweeted_status => { "text" => "foo bar", "username" => "wittydude" } ) presenter = Stratify::Twitter::Presenter.new(activity) presenter.text.should == 'RT @wittydude foo bar' end end context "when the tweet is not a retweet" do it "returns the tweet's text without any modifications" do activity = Stratify::Twitter::Activity.new(:text => "foo bar") presenter = Stratify::Twitter::Presenter.new(activity) presenter.text.should == 'foo bar' end end end describe "#to_html" do it "wraps a Twitter @username with a link" do activity = Stratify::Twitter::Activity.new(:text => "foo @jasonrudolph bar") presenter = Stratify::Twitter::Presenter.new(activity) presenter.to_html.should == 'foo @jasonrudolph bar' end it "wraps each Twitter @username with a link when a tweet contains multiple @usernames" do activity = Stratify::Twitter::Activity.new(:text => "foo @jasonrudolph bar @thinkrelevance baz") presenter = Stratify::Twitter::Presenter.new(activity) presenter.to_html.should == 'foo @jasonrudolph bar @thinkrelevance baz' end it "adds a link when a tweet contains a URL" do activity = Stratify::Twitter::Activity.new(:text => "foo http://google.com bar") presenter = Stratify::Twitter::Presenter.new(activity) presenter.to_html.should == 'foo http://google.com bar' end end end