Mercurial > hg > soundsoftware-site
comparison test/unit/.svn/text-base/news_test.rb.svn-base @ 119:8661b858af72
* Update to Redmine trunk rev 4705
author | Chris Cannam |
---|---|
date | Thu, 13 Jan 2011 14:12:06 +0000 |
parents | 513646585e45 |
children |
comparison
equal
deleted
inserted
replaced
39:150ceac17a8d | 119:8661b858af72 |
---|---|
13 # | 13 # |
14 # You should have received a copy of the GNU General Public License | 14 # You should have received a copy of the GNU General Public License |
15 # along with this program; if not, write to the Free Software | 15 # along with this program; if not, write to the Free Software |
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | 16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
17 | 17 |
18 require File.dirname(__FILE__) + '/../test_helper' | 18 require File.expand_path('../../test_helper', __FILE__) |
19 | 19 |
20 class NewsTest < ActiveSupport::TestCase | 20 class NewsTest < ActiveSupport::TestCase |
21 fixtures :projects, :users, :roles, :members, :member_roles, :enabled_modules, :news | 21 fixtures :projects, :users, :roles, :members, :member_roles, :enabled_modules, :news |
22 | 22 |
23 def valid_news | 23 def valid_news |
44 # News.latest should return news from projects_001 | 44 # News.latest should return news from projects_001 |
45 assert News.latest.any? { |news| news.project == project } | 45 assert News.latest.any? { |news| news.project == project } |
46 end | 46 end |
47 | 47 |
48 def test_should_not_include_news_for_projects_with_news_disabled | 48 def test_should_not_include_news_for_projects_with_news_disabled |
49 # The projects_002 (OnlineStore) doesn't have the news module enabled, use that project for this test | 49 EnabledModule.delete_all(["project_id = ? AND name = ?", 2, 'news']) |
50 project = projects(:projects_002) | 50 project = Project.find(2) |
51 assert ! project.enabled_modules.any?{ |em| em.name == 'news' } | |
52 | 51 |
53 # Add a piece of news to the project | 52 # Add a piece of news to the project |
54 news = project.news.create(valid_news) | 53 news = project.news.create(valid_news) |
55 | 54 |
56 # News.latest should not return that new piece of news | 55 # News.latest should not return that new piece of news |
57 assert News.latest.include?(news) == false | 56 assert News.latest.include?(news) == false |
58 end | 57 end |
59 | 58 |
60 def test_should_only_include_news_from_projects_visibly_to_the_user | 59 def test_should_only_include_news_from_projects_visibly_to_the_user |
61 # users_001 has no memberships so can only get news from public project | 60 assert News.latest(User.anonymous).all? { |news| news.project.is_public? } |
62 assert News.latest(users(:users_001)).all? { |news| news.project.is_public? } | |
63 end | 61 end |
64 | 62 |
65 def test_should_limit_the_amount_of_returned_news | 63 def test_should_limit_the_amount_of_returned_news |
66 # Make sure we have a bunch of news stories | 64 # Make sure we have a bunch of news stories |
67 10.times { projects(:projects_001).news.create(valid_news) } | 65 10.times { projects(:projects_001).news.create(valid_news) } |