spec/article_spec.rb in reviewed-0.0.2 vs spec/article_spec.rb in reviewed-0.0.3

- old
+ new

@@ -4,30 +4,52 @@ describe 'find_page' do use_vcr_cassette 'article/find_page' it 'finds a page with a matching slug' do article = Reviewed::Article.find('minden-master-ii-grill-review') - article.pages.length.should == 4 - article.find_page('performance').should == article.pages[1] + article.pages.length.should == 10 + page = article.find_page('performance') + page.should == article.pages[2] + page.name.should == 'Performance' end end + describe 'products' do + use_vcr_cassette 'article/products' + + before(:each) do + @article = Reviewed::Article.find('big-green-egg-medium-charcoal-grill-review') + end + + it 'returns products of the correct class' do + @article.products.should_not be_empty + @article.products.each do |product| + product.class.should == Reviewed::Product + end + end + end + describe 'attachments' do use_vcr_cassette 'article/attachments' before(:each) do @article = Reviewed::Article.find('big-green-egg-medium-charcoal-grill-review') end it 'returns all attachments' do - @article.attachments.length.should > 1 + @article.attachments.length.should >= 1 end it 'finds attachments by tag' do attachments = @article.attachments('hero') attachments.length.should == 1 attachments.each do |attachment| attachment.tags.join(',').should match(/hero/i) end end + + it 'does not have any matching attachments' do + attachments = @article.attachments('doesnotcompute') + attachments.length.should == 0 + end end end