spec/search_spec.rb in meme-0.2.0 vs spec/search_spec.rb in meme-0.2.1
- old
+ new
@@ -1,74 +1,110 @@
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
-describe "Meme::Search" do
+describe "Meme::Post" do
- before :each do
- query = "SELECT * FROM meme.search WHERE query='meme rocks'"
- fake_web(query, 'meme_search.json')
- @results = Meme::Post.find('meme rocks')
- end
+ describe "::find" do
- it "should return pubid" do
- @results.first.pubid.should == "yC8nqOd"
- end
+ before :each do
+ query = "SELECT * FROM meme.search WHERE query='meme rocks'"
+ fake_web(query, 'meme_search.json')
+ @results = Meme::Post.find('meme rocks')
+ end
- it "should return guid" do
- @results.first.guid.should == "7Z7XFAPD5FLXFKJVT4NG6XTTA4"
- end
+ it "should return pubid" do
+ @results.first.pubid.should == "yC8nqOd"
+ end
- it "should return url" do
- @results.first.url.should == "http://meme.yahoo.com/celizelove/p/yC8nqOd/"
- end
+ it "should return guid" do
+ @results.first.guid.should == "7Z7XFAPD5FLXFKJVT4NG6XTTA4"
+ end
- it "should return timestamp" do
- @results.first.timestamp.should == "1268410909000"
- end
+ it "should return url" do
+ @results.first.url.should == "http://meme.yahoo.com/celizelove/p/yC8nqOd/"
+ end
- it "should return category" do
- @results.first.category.should == "text"
- end
+ it "should return timestamp" do
+ @results.first.timestamp.should == "1268410909000"
+ end
- it "should return type" do
- @results.first.type.should == "text"
- end
+ it "should return category" do
+ @results.first.category.should == "text"
+ end
- it "should return content" do
- @results[4].content.should == "http://d.yimg.com/gg/u/2441eceb4b334c6fc29c9bd306fe1957693d605e.jpeg"
- end
+ it "should return type" do
+ @results.first.type.should == "text"
+ end
- it "should return repost_count" do
- @results.first.repost_count.should == "0"
- end
+ it "should return content" do
+ @results[4].content.should == "http://d.yimg.com/gg/u/2441eceb4b334c6fc29c9bd306fe1957693d605e.jpeg"
+ end
- it "should return caption" do
- @results[1].caption.should == "This is good. But a lot of things happening means a high chance that I, the man who lives and breathes Panic and has a giant status board in my head, might not properly explain everything to everyone. Steve and I realized it was high time we made this Cabel Status Board public… using technology!"
- end
+ it "should return repost_count" do
+ @results.first.repost_count.should == "0"
+ end
- describe "#search by" do
+ it "should return caption" do
+ @results[1].caption.should == "This is good. But a lot of things happening means a high chance that I, the man who lives and breathes Panic and has a giant status board in my head, might not properly explain everything to everyone. Steve and I realized it was high time we made this Cabel Status Board public… using technology!"
+ end
- describe "#posts not found" do
- it "should return nil" do
- query = "SELECT * FROM meme.search WHERE query='brhackday' and type='audio'"
- fake_web(query, 'meme_search_type_audio.json')
- Meme::Post.find('brhackday', :type => :audio).should be_nil
+ it "if posts not found, should return nil" do
+ query = "SELECT * FROM meme.search WHERE query='brhackday' and type='audio'"
+ fake_web(query, 'meme_search_type_audio.json')
+ Meme::Post.find('brhackday', :type => :audio).should be_nil
+ end
+
+ context "using the option :type" do
+
+ it "type photo" do
+ query = "SELECT * FROM meme.search WHERE query='meme rocks' and type='photo'"
+ fake_web(query, 'meme_search_type_photo.json')
+ @results = Meme::Post.find('meme rocks', :type => :photo)
+ @results.count.should == 3
+ @results.first.type.should == "photo"
end
+
+ it "type video" do
+ query = "SELECT * FROM meme.search WHERE query='keyboard cat' and type='video'"
+ fake_web(query, 'meme_search_type_video.json')
+ @results = Meme::Post.find('keyboard cat', :type => :video)
+ @results.count.should == 2
+ @results.first.type.should == "video"
+ end
+
end
- it "type photo" do
- query = "SELECT * FROM meme.search WHERE query='meme rocks' and type='photo'"
- fake_web(query, 'meme_search_type_photo.json')
- @results = Meme::Post.find('meme rocks', :type => :photo)
- @results.count.should == 3
- @results.first.type.should == "photo"
+ end
+
+ describe "::popular" do
+
+ before :each do
+ query = "SELECT * FROM meme.popular WHERE locale='pt'"
+ fake_web(query, 'meme_popular_pt.json')
+ @results = Meme::Post.popular
end
- it "type video" do
- query = "SELECT * FROM meme.search WHERE query='keyboard cat' and type='video'"
- fake_web(query, 'meme_search_type_video.json')
- @results = Meme::Post.find('keyboard cat', :type => :video)
- @results.count.should == 2
- @results.first.type.should == "video"
+ it { @results.count.should == 10 }
+
+ it "should return content" do
+ @results.first.content.should == "http://d.yimg.com/gg/u/38b15b9620e38090aa092420790d3b5a528e8e99.jpeg"
+ end
+
+ it "return the user post" do
+ query = "SELECT * FROM meme.info WHERE owner_guid='QKSXELRVSAWRI77FVKODDYTKB4'"
+ fake_web(query, 'meme_info_guid.json')
+ @results.first.user.guid.should == "QKSXELRVSAWRI77FVKODDYTKB4"
+ end
+
+ context "using the locale" do
+
+ it "locale 'id' for Bahasa Indonesia" do
+ query = "SELECT * FROM meme.popular WHERE locale='id'"
+ fake_web(query, 'meme_popular_id.json')
+ @results = Meme::Post.popular('id')
+ @results.count.should == 10
+ @results.first.content.should == "Kemarin dia menawarkan cinta, hmm sayang harganya terlalu mahal jadi aku putuskan untuk tak memilikinya..."
+ end
+
end
end
end