Tests for FeedItem model installed and passed
[feedcatcher.git] / spec / models / feed_item_spec.rb
index 68eddb01ca447d66a427d8de4a93d88f917331f4..f932e431132af1c11af0202f123370822013d542 100644 (file)
@@ -1,5 +1,55 @@
 require 'spec_helper'
 
 describe FeedItem do
-  pending "add some examples to (or delete) #{__FILE__}"
+  before(:each) do
+    @feed_item = FeedItem.new(
+      :feed_name => "feed",
+      :title => "foo",
+      :description => "bar"
+    )
+  end
+
+  it "is valid with valid attributes" do
+    expect(@feed_item).to be_valid
+  end
+
+  it "is not valid without a feed name" do
+    @feed_item.feed_name = nil
+    expect(@feed_item).not_to be_valid
+  end
+
+  it "is not valid without a title" do
+    @feed_item.title = nil
+    expect(@feed_item).not_to be_valid
+  end
+
+  it "is not valid without a description" do
+    @feed_item.description = nil
+    expect(@feed_item).not_to be_valid
+  end
+
+  it "is not valid with an improper feed name" do
+    @feed_item.feed_name = 'feed name'
+    expect(@feed_item).not_to be_valid
+    @feed_item.feed_name = 'feed%20name'
+    expect(@feed_item).not_to be_valid
+    @feed_item.feed_name = 'feed&name'
+    expect(@feed_item).not_to be_valid
+    @feed_item.feed_name = 'feed%26name'
+    expect(@feed_item).not_to be_valid
+    @feed_item.feed_name = 'feed<name'
+    expect(@feed_item).not_to be_valid
+    @feed_item.feed_name = 'feed%3Cname'
+    expect(@feed_item).not_to be_valid
+    @feed_item.feed_name = 'feed%name'
+    expect(@feed_item).not_to be_valid
+    @feed_item.feed_name = 'index'
+    expect(@feed_item).not_to be_valid
+    @feed_item.feed_name = 'show'
+    expect(@feed_item).not_to be_valid
+    @feed_item.feed_name = 'update'
+    expect(@feed_item).not_to be_valid
+    @feed_item.feed_name = 'action'
+    expect(@feed_item).not_to be_valid
+  end
 end