added rss/atom feeds at project levels for:

* news
* new issues reported
* details of issue changes

issue cutom queries can be used as feeds

git-svn-id: http://redmine.rubyforge.org/svn/trunk@339 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang
2007-03-17 15:18:50 +00:00
parent 22b42dc90a
commit 10cf1ccc1a
24 changed files with 383 additions and 23 deletions

View File

@@ -11,3 +11,10 @@ members_002:
role_id: 2
id: 2
user_id: 3
members_003:
created_on: 2006-07-19 19:35:36 +02:00
project_id: 2
role_id: 2
id: 3
user_id: 2

View File

@@ -0,0 +1,66 @@
# redMine - project management software
# Copyright (C) 2006-2007 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
require File.dirname(__FILE__) + '/../test_helper'
require 'feeds_controller'
# Re-raise errors caught by the controller.
class FeedsController; def rescue_action(e) raise e end; end
class FeedsControllerTest < Test::Unit::TestCase
fixtures :projects, :users, :members, :roles
def setup
@controller = FeedsController.new
@request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new
end
def test_news
get :news
assert_response :success
assert_template 'news'
assert_not_nil assigns(:news)
end
def test_issues
get :issues
assert_response :success
assert_template 'issues'
assert_not_nil assigns(:issues)
end
def test_history
get :history
assert_response :success
assert_template 'history'
assert_not_nil assigns(:journals)
end
def test_project_privacy
get :news, :project_id => 2
assert_response 403
end
def test_rss_key
user = User.find(2)
key = user.get_or_create_rss_key.value
get :news, :project_id => 2, :key => key
assert_response :success
end
end

View File

@@ -85,4 +85,17 @@ class UserTest < Test::Unit::TestCase
user = User.try_to_login("jsmith", "jsmith")
assert_equal nil, user
end
def test_rss_key
assert_nil @jsmith.rss_key
key = @jsmith.get_or_create_rss_key
assert_kind_of Token, key
assert_equal 40, key.value.length
@jsmith.reload
assert_equal key.value, @jsmith.get_or_create_rss_key.value
@jsmith.reload
assert_equal key.value, @jsmith.rss_key.value
end
end