3 class FeedItemTest
< ActiveSupport
::TestCase
7 test
"invalid with empty attributes" do
8 feed_item
= FeedItem
.new
9 assert
!feed_item
.valid
?
10 assert feed_item
.errors
.invalid
?(:feed_name)
11 assert feed_item
.errors
.invalid
?(:title)
12 assert feed_item
.errors
.invalid
?(:description)
15 test
"illegal feed names" do
16 bad_feed_names
= ["name with spaces", "name%20with%20spaces", "action", "index", "show", "update"]
18 bad_feed_names
.each
do |feed_name
|
19 feed_item
= FeedItem
.new(:feed_name => feed_name
,
20 :title => "Sample title",
21 :description => "Sample description")
22 assert
!feed_item
.valid
?
23 assert_equal
"is an invalid feed name", feed_item
.errors
.on(:feed_name)
27 test
"legal feed names" do
28 bad_feed_names
= %w
{ feed1 afeed a_feed a-feed a_long_feed_name
}
30 bad_feed_names
.each
do |feed_name
|
31 feed_item
= FeedItem
.new(:feed_name => feed_name
,
32 :title => "Sample title",
33 :description => "Sample description")
34 assert feed_item
.valid
?
38 test
"duplicate descriptions" do
39 feed_item
= FeedItem
.new(:feed_name => 'feed_one',
40 :title => 'feed one item four',
41 :description => 'feed one item one')
42 assert feed_item
.valid
?
46 test
"duplicate titles in one feed" do
47 feed_item
= FeedItem
.new(:feed_name => 'feed_one',
48 :title => 'feed one item one',
49 :description => 'new feed item one')
50 assert
!feed_item
.valid
?
53 test
"duplicate titles in different feeds" do
54 feed_item
= FeedItem
.new(:feed_name => 'feed_two',
55 :title => 'feed one item one',
56 :description => 'new feed one item one')
57 assert feed_item
.valid
?