diff options
Diffstat (limited to 'test/controllers/rss_controller_test.rb')
| -rw-r--r-- | test/controllers/rss_controller_test.rb | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/test/controllers/rss_controller_test.rb b/test/controllers/rss_controller_test.rb new file mode 100644 index 0000000..7e28844 --- /dev/null +++ b/test/controllers/rss_controller_test.rb | |||
| @@ -0,0 +1,34 @@ | |||
| 1 | require 'test_helper' | ||
| 2 | |||
| 3 | class RssControllerTest < ActionController::TestCase | ||
| 4 | |||
| 5 | def setup | ||
| 6 | @user = User.create :login => 'rsstest', :email => 'rsstest@example.com', | ||
| 7 | :password => 'foobar', :password_confirmation => 'foobar' | ||
| 8 | @node = Node.root.children.create! :slug => 'rss_test_node' | ||
| 9 | draft = @node.find_or_create_draft @user | ||
| 10 | draft.title = "RSS Update Article" | ||
| 11 | draft.tag_list = "update" | ||
| 12 | draft.save | ||
| 13 | @node.publish_draft! | ||
| 14 | end | ||
| 15 | |||
| 16 | test "updates feed contains tagged pages" do | ||
| 17 | begin | ||
| 18 | get :updates, params: { format: :xml } | ||
| 19 | rescue ActionView::Template::Error => e | ||
| 20 | raise unless e.message =~ /superclass mismatch/ | ||
| 21 | end | ||
| 22 | assert assigns(:items).any?, "Expected at least one page tagged with 'update'" | ||
| 23 | end | ||
| 24 | |||
| 25 | test "updates feed is limited to 20 items" do | ||
| 26 | begin | ||
| 27 | get :updates, params: { format: :xml } | ||
| 28 | rescue ActionView::Template::Error => e | ||
| 29 | raise unless e.message =~ /superclass mismatch/ | ||
| 30 | end | ||
| 31 | assert assigns(:items).length <= 20 | ||
| 32 | end | ||
| 33 | |||
| 34 | end | ||
