##// END OF EJS Templates
Merged r5091 from trunk....
Merged r5091 from trunk. scm: mercurial: add :order => 'id DESC' explicitly for MySQL test fails. Because :order => 'id DESC' is defined at 'has_many', there is no need to set 'order'. But, MySQL test fails. Sqlite3 and PostgreSQL pass. Is this MySQL bug? MySQL svn trunk test on Redmine CI server fails. But, svn 1.1-stable passes. If this is MySQL bug, this effects 1.1-stable, too. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/1.1-stable@5092 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r4395:17f86d964fe0
r4972:891ed84fe39e
Show More
news_test.rb
75 lines | 2.7 KiB | text/x-ruby | RubyLexer
Jean-Philippe Lang
Fixed: Latest news appear on the homepage for projects with the News module disabled (#1941)....
r1908 # Redmine - project management software
# Copyright (C) 2006-2008 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.
Jean-Baptiste Barth
Use absolute paths in test/**/* requires for Ruby 1.9.2 compatibility. #4050...
r4395 require File.expand_path('../../test_helper', __FILE__)
Jean-Philippe Lang
Fixed: Latest news appear on the homepage for projects with the News module disabled (#1941)....
r1908
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 class NewsTest < ActiveSupport::TestCase
Jean-Philippe Lang
Allows multiple roles on the same project (#706). Prerequisite for user groups feature....
r2627 fixtures :projects, :users, :roles, :members, :member_roles, :enabled_modules, :news
Jean-Philippe Lang
Fixed: Latest news appear on the homepage for projects with the News module disabled (#1941)....
r1908
Eric Davis
Added observers to watch model objects for mail delivery instead of calling Mailer....
r2548 def valid_news
{ :title => 'Test news', :description => 'Lorem ipsum etc', :author => User.find(:first) }
end
Jean-Philippe Lang
Fixed: Latest news appear on the homepage for projects with the News module disabled (#1941)....
r1908 def setup
end
Eric Davis
Added observers to watch model objects for mail delivery instead of calling Mailer....
r2548 def test_create_should_send_email_notification
ActionMailer::Base.deliveries.clear
Setting.notified_events << 'news_added'
news = Project.find(:first).news.new(valid_news)
assert news.save
assert_equal 1, ActionMailer::Base.deliveries.size
end
Jean-Philippe Lang
Fixed: Latest news appear on the homepage for projects with the News module disabled (#1941)....
r1908 def test_should_include_news_for_projects_with_news_enabled
project = projects(:projects_001)
assert project.enabled_modules.any?{ |em| em.name == 'news' }
# News.latest should return news from projects_001
assert News.latest.any? { |news| news.project == project }
end
def test_should_not_include_news_for_projects_with_news_disabled
Jean-Philippe Lang
Fixes tests after fixtures changes....
r4393 EnabledModule.delete_all(["project_id = ? AND name = ?", 2, 'news'])
project = Project.find(2)
Jean-Philippe Lang
Fixed: Latest news appear on the homepage for projects with the News module disabled (#1941)....
r1908
# Add a piece of news to the project
Eric Davis
Added observers to watch model objects for mail delivery instead of calling Mailer....
r2548 news = project.news.create(valid_news)
Jean-Philippe Lang
Fixed: Latest news appear on the homepage for projects with the News module disabled (#1941)....
r1908
# News.latest should not return that new piece of news
assert News.latest.include?(news) == false
end
def test_should_only_include_news_from_projects_visibly_to_the_user
Jean-Philippe Lang
Fixes tests after fixtures changes....
r4393 assert News.latest(User.anonymous).all? { |news| news.project.is_public? }
Jean-Philippe Lang
Fixed: Latest news appear on the homepage for projects with the News module disabled (#1941)....
r1908 end
def test_should_limit_the_amount_of_returned_news
# Make sure we have a bunch of news stories
Eric Davis
Added observers to watch model objects for mail delivery instead of calling Mailer....
r2548 10.times { projects(:projects_001).news.create(valid_news) }
Jean-Philippe Lang
Fixed: Latest news appear on the homepage for projects with the News module disabled (#1941)....
r1908 assert_equal 2, News.latest(users(:users_002), 2).size
assert_equal 6, News.latest(users(:users_002), 6).size
end
def test_should_return_5_news_stories_by_default
# Make sure we have a bunch of news stories
Eric Davis
Added observers to watch model objects for mail delivery instead of calling Mailer....
r2548 10.times { projects(:projects_001).news.create(valid_news) }
Jean-Philippe Lang
Fixed: Latest news appear on the homepage for projects with the News module disabled (#1941)....
r1908 assert_equal 5, News.latest(users(:users_004)).size
end
end