Mercurial > hg > soundsoftware-site
comparison test/unit/journal_test.rb @ 1115:433d4f72a19b redmine-2.2
Update to Redmine SVN revision 11137 on 2.2-stable branch
author | Chris Cannam |
---|---|
date | Mon, 07 Jan 2013 12:01:42 +0000 |
parents | cbce1fd3b1b7 |
children | 622f24f53b42 261b3d9a4903 |
comparison
equal
deleted
inserted
replaced
929:5f33065ddc4b | 1115:433d4f72a19b |
---|---|
1 # Redmine - project management software | 1 # Redmine - project management software |
2 # Copyright (C) 2006-2011 Jean-Philippe Lang | 2 # Copyright (C) 2006-2012 Jean-Philippe Lang |
3 # | 3 # |
4 # This program is free software; you can redistribute it and/or | 4 # This program is free software; you can redistribute it and/or |
5 # modify it under the terms of the GNU General Public License | 5 # modify it under the terms of the GNU General Public License |
6 # as published by the Free Software Foundation; either version 2 | 6 # as published by the Free Software Foundation; either version 2 |
7 # of the License, or (at your option) any later version. | 7 # of the License, or (at your option) any later version. |
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.expand_path('../../test_helper', __FILE__) | 18 require File.expand_path('../../test_helper', __FILE__) |
19 | 19 |
20 class JournalTest < ActiveSupport::TestCase | 20 class JournalTest < ActiveSupport::TestCase |
21 fixtures :projects, :issues, :issue_statuses, :journals, :journal_details, :users, :members, :member_roles | 21 fixtures :projects, :issues, :issue_statuses, :journals, :journal_details, |
22 :users, :members, :member_roles, :roles, :enabled_modules, | |
23 :projects_trackers, :trackers | |
22 | 24 |
23 def setup | 25 def setup |
24 @journal = Journal.find 1 | 26 @journal = Journal.find 1 |
25 end | 27 end |
26 | 28 |
43 user = User.find(:first) | 45 user = User.find(:first) |
44 journal = issue.init_journal(user, issue) | 46 journal = issue.init_journal(user, issue) |
45 | 47 |
46 assert journal.save | 48 assert journal.save |
47 assert_equal 1, ActionMailer::Base.deliveries.size | 49 assert_equal 1, ActionMailer::Base.deliveries.size |
50 end | |
51 | |
52 def test_should_not_save_journal_with_blank_notes_and_no_details | |
53 journal = Journal.new(:journalized => Issue.first, :user => User.first) | |
54 | |
55 assert_no_difference 'Journal.count' do | |
56 assert_equal false, journal.save | |
57 end | |
58 end | |
59 | |
60 def test_create_should_not_split_non_private_notes | |
61 assert_difference 'Journal.count' do | |
62 assert_no_difference 'JournalDetail.count' do | |
63 journal = Journal.generate!(:notes => 'Notes') | |
64 end | |
65 end | |
66 | |
67 assert_difference 'Journal.count' do | |
68 assert_difference 'JournalDetail.count' do | |
69 journal = Journal.generate!(:notes => 'Notes', :details => [JournalDetail.new]) | |
70 end | |
71 end | |
72 | |
73 assert_difference 'Journal.count' do | |
74 assert_difference 'JournalDetail.count' do | |
75 journal = Journal.generate!(:notes => '', :details => [JournalDetail.new]) | |
76 end | |
77 end | |
78 end | |
79 | |
80 def test_create_should_split_private_notes | |
81 assert_difference 'Journal.count' do | |
82 assert_no_difference 'JournalDetail.count' do | |
83 journal = Journal.generate!(:notes => 'Notes', :private_notes => true) | |
84 journal.reload | |
85 assert_equal true, journal.private_notes | |
86 assert_equal 'Notes', journal.notes | |
87 end | |
88 end | |
89 | |
90 assert_difference 'Journal.count', 2 do | |
91 assert_difference 'JournalDetail.count' do | |
92 journal = Journal.generate!(:notes => 'Notes', :private_notes => true, :details => [JournalDetail.new]) | |
93 journal.reload | |
94 assert_equal true, journal.private_notes | |
95 assert_equal 'Notes', journal.notes | |
96 assert_equal 0, journal.details.size | |
97 | |
98 journal_with_changes = Journal.order('id DESC').offset(1).first | |
99 assert_equal false, journal_with_changes.private_notes | |
100 assert_nil journal_with_changes.notes | |
101 assert_equal 1, journal_with_changes.details.size | |
102 assert_equal journal.created_on, journal_with_changes.created_on | |
103 end | |
104 end | |
105 | |
106 assert_difference 'Journal.count' do | |
107 assert_difference 'JournalDetail.count' do | |
108 journal = Journal.generate!(:notes => '', :private_notes => true, :details => [JournalDetail.new]) | |
109 journal.reload | |
110 assert_equal false, journal.private_notes | |
111 assert_equal '', journal.notes | |
112 assert_equal 1, journal.details.size | |
113 end | |
114 end | |
48 end | 115 end |
49 | 116 |
50 def test_visible_scope_for_anonymous | 117 def test_visible_scope_for_anonymous |
51 # Anonymous user should see issues of public projects only | 118 # Anonymous user should see issues of public projects only |
52 journals = Journal.visible(User.anonymous).all | 119 journals = Journal.visible(User.anonymous).all |