##// END OF EJS Templates
Speeds up rendering of the project list for users who belong to hundreds of projects....
Speeds up rendering of the project list for users who belong to hundreds of projects. git-svn-id: http://svn.redmine.org/redmine/trunk@16123 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r15293:57afa5345eea
r15741:f8df935dcada
Show More
news_test.rb
90 lines | 3.2 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
Jean-Philippe Lang
Updates copyright for 2016....
r14856 # Copyright (C) 2006-2016 Jean-Philippe Lang
Jean-Philippe Lang
Fixed: Latest news appear on the homepage for projects with the News module disabled (#1941)....
r1908 #
# 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.
Toshi MARUYAMA
remove trailing white-spaces from test/unit/news_test.rb....
r6641 #
Jean-Philippe Lang
Fixed: Latest news appear on the homepage for projects with the News module disabled (#1941)....
r1908 # 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.
Toshi MARUYAMA
remove trailing white-spaces from test/unit/news_test.rb....
r6641 #
Jean-Philippe Lang
Fixed: Latest news appear on the homepage for projects with the News module disabled (#1941)....
r1908 # 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
Missing fixtures....
r13508 fixtures :projects, :users, :email_addresses, :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
Jean-Philippe Lang
Replaces find(:first) calls....
r10701 { :title => 'Test news', :description => 'Lorem ipsum etc', :author => User.first }
Eric Davis
Added observers to watch model objects for mail delivery instead of calling Mailer....
r2548 end
Jean-Philippe Lang
Fixed: Latest news appear on the homepage for projects with the News module disabled (#1941)....
r1908 def setup
end
Toshi MARUYAMA
remove trailing white-spaces from test/unit/news_test.rb....
r6641
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
Jean-Philippe Lang
Fixed potential test failure....
r8907 news = Project.find(1).news.new(valid_news)
Eric Davis
Added observers to watch model objects for mail delivery instead of calling Mailer....
r2548
Jean-Philippe Lang
Tests should not change settings....
r9766 with_settings :notified_events => %w(news_added) do
assert news.save
end
Eric Davis
Added observers to watch model objects for mail delivery instead of calling Mailer....
r2548 assert_equal 1, ActionMailer::Base.deliveries.size
end
Toshi MARUYAMA
remove trailing white-spaces from test/unit/news_test.rb....
r6641
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
Toshi MARUYAMA
remove trailing white-spaces from test/unit/news_test.rb....
r6641
Jean-Philippe Lang
Fixed: Latest news appear on the homepage for projects with the News module disabled (#1941)....
r1908 def test_should_not_include_news_for_projects_with_news_disabled
Jean-Philippe Lang
Don't pass conditions to #delete_all....
r15293 EnabledModule.where(["project_id = ? AND name = ?", 2, 'news']).delete_all
Jean-Philippe Lang
Fixes tests after fixtures changes....
r4393 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
Toshi MARUYAMA
remove trailing white-spaces from test/unit/news_test.rb....
r6641
Jean-Philippe Lang
Fixed: Latest news appear on the homepage for projects with the News module disabled (#1941)....
r1908 def test_should_only_include_news_from_projects_visibly_to_the_user
Toshi MARUYAMA
remove trailing white-spaces from test/unit/news_test.rb....
r6641 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
Toshi MARUYAMA
remove trailing white-spaces from test/unit/news_test.rb....
r6641
Jean-Philippe Lang
Fixed: Latest news appear on the homepage for projects with the News module disabled (#1941)....
r1908 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
Jean-Philippe Lang
Allows attachments on news (#1972)....
r8608
def test_attachments_should_be_visible
assert News.find(1).attachments_visible?(User.anonymous)
end
def test_attachments_should_be_deletable_with_manage_news_permission
manager = User.find(2)
assert News.find(1).attachments_deletable?(manager)
end
def test_attachments_should_not_be_deletable_without_manage_news_permission
manager = User.find(2)
Role.find_by_name('Manager').remove_permission!(:manage_news)
assert !News.find(1).attachments_deletable?(manager)
end
Jean-Philippe Lang
Fixed: Latest news appear on the homepage for projects with the News module disabled (#1941)....
r1908 end