##// END OF EJS Templates
No need to save the record....
Jean-Philippe Lang -
r8957:bcd8c643844f
parent child
Show More
@@ -1,171 +1,171
1 1 # Redmine - project management software
2 2 # Copyright (C) 2006-2011 Jean-Philippe Lang
3 3 #
4 4 # This program is free software; you can redistribute it and/or
5 5 # modify it under the terms of the GNU General Public License
6 6 # as published by the Free Software Foundation; either version 2
7 7 # of the License, or (at your option) any later version.
8 8 #
9 9 # This program is distributed in the hope that it will be useful,
10 10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 12 # GNU General Public License for more details.
13 13 #
14 14 # You should have received a copy of the GNU General Public License
15 15 # along with this program; if not, write to the Free Software
16 16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 17
18 18 require File.expand_path('../../../test_helper', __FILE__)
19 19
20 20 class IssuesHelperTest < ActionView::TestCase
21 21 include ApplicationHelper
22 22 include IssuesHelper
23 23 include ERB::Util
24 24
25 25 fixtures :projects, :trackers, :issue_statuses, :issues,
26 26 :enumerations, :users, :issue_categories,
27 27 :projects_trackers,
28 28 :roles,
29 29 :member_roles,
30 30 :members,
31 31 :enabled_modules,
32 32 :workflows
33 33
34 34 def setup
35 35 super
36 36 set_language_if_valid('en')
37 37 User.current = nil
38 38 end
39 39
40 40 def test_issue_heading
41 41 assert_equal "Bug #1", issue_heading(Issue.find(1))
42 42 end
43 43
44 44 def test_issues_destroy_confirmation_message_with_one_root_issue
45 45 assert_equal l(:text_issues_destroy_confirmation), issues_destroy_confirmation_message(Issue.find(1))
46 46 end
47 47
48 48 def test_issues_destroy_confirmation_message_with_an_arrayt_of_root_issues
49 49 assert_equal l(:text_issues_destroy_confirmation), issues_destroy_confirmation_message(Issue.find([1, 2]))
50 50 end
51 51
52 52 def test_issues_destroy_confirmation_message_with_one_parent_issue
53 53 Issue.find(2).update_attribute :parent_issue_id, 1
54 54 assert_equal l(:text_issues_destroy_confirmation) + "\n" + l(:text_issues_destroy_descendants_confirmation, :count => 1),
55 55 issues_destroy_confirmation_message(Issue.find(1))
56 56 end
57 57
58 58 def test_issues_destroy_confirmation_message_with_one_parent_issue_and_its_child
59 59 Issue.find(2).update_attribute :parent_issue_id, 1
60 60 assert_equal l(:text_issues_destroy_confirmation), issues_destroy_confirmation_message(Issue.find([1, 2]))
61 61 end
62 62
63 63 context "IssuesHelper#show_detail" do
64 64 context "with no_html" do
65 65 should 'show a changing attribute' do
66 @detail = JournalDetail.generate!(:property => 'attr', :old_value => '40', :value => '100', :prop_key => 'done_ratio')
66 @detail = JournalDetail.new(:property => 'attr', :old_value => '40', :value => '100', :prop_key => 'done_ratio')
67 67 assert_equal "% Done changed from 40 to 100", show_detail(@detail, true)
68 68 end
69 69
70 70 should 'show a new attribute' do
71 @detail = JournalDetail.generate!(:property => 'attr', :old_value => nil, :value => '100', :prop_key => 'done_ratio')
71 @detail = JournalDetail.new(:property => 'attr', :old_value => nil, :value => '100', :prop_key => 'done_ratio')
72 72 assert_equal "% Done set to 100", show_detail(@detail, true)
73 73 end
74 74
75 75 should 'show a deleted attribute' do
76 @detail = JournalDetail.generate!(:property => 'attr', :old_value => '50', :value => nil, :prop_key => 'done_ratio')
76 @detail = JournalDetail.new(:property => 'attr', :old_value => '50', :value => nil, :prop_key => 'done_ratio')
77 77 assert_equal "% Done deleted (50)", show_detail(@detail, true)
78 78 end
79 79 end
80 80
81 81 context "with html" do
82 82 should 'show a changing attribute with HTML highlights' do
83 @detail = JournalDetail.generate!(:property => 'attr', :old_value => '40', :value => '100', :prop_key => 'done_ratio')
83 @detail = JournalDetail.new(:property => 'attr', :old_value => '40', :value => '100', :prop_key => 'done_ratio')
84 84 html = show_detail(@detail, false)
85 85
86 86 assert_include '<strong>% Done</strong>', html
87 87 assert_include '<i>40</i>', html
88 88 assert_include '<i>100</i>', html
89 89 end
90 90
91 91 should 'show a new attribute with HTML highlights' do
92 @detail = JournalDetail.generate!(:property => 'attr', :old_value => nil, :value => '100', :prop_key => 'done_ratio')
92 @detail = JournalDetail.new(:property => 'attr', :old_value => nil, :value => '100', :prop_key => 'done_ratio')
93 93 html = show_detail(@detail, false)
94 94
95 95 assert_include '<strong>% Done</strong>', html
96 96 assert_include '<i>100</i>', html
97 97 end
98 98
99 99 should 'show a deleted attribute with HTML highlights' do
100 @detail = JournalDetail.generate!(:property => 'attr', :old_value => '50', :value => nil, :prop_key => 'done_ratio')
100 @detail = JournalDetail.new(:property => 'attr', :old_value => '50', :value => nil, :prop_key => 'done_ratio')
101 101 html = show_detail(@detail, false)
102 102
103 103 assert_include '<strong>% Done</strong>', html
104 104 assert_include '<strike><i>50</i></strike>', html
105 105 end
106 106 end
107 107
108 108 context "with a start_date attribute" do
109 109 should "format the current date" do
110 @detail = JournalDetail.generate!(:property => 'attr', :old_value => '2010-01-01', :value => '2010-01-31', :prop_key => 'start_date')
110 @detail = JournalDetail.new(:property => 'attr', :old_value => '2010-01-01', :value => '2010-01-31', :prop_key => 'start_date')
111 111 assert_match "01/31/2010", show_detail(@detail, true)
112 112 end
113 113
114 114 should "format the old date" do
115 @detail = JournalDetail.generate!(:property => 'attr', :old_value => '2010-01-01', :value => '2010-01-31', :prop_key => 'start_date')
115 @detail = JournalDetail.new(:property => 'attr', :old_value => '2010-01-01', :value => '2010-01-31', :prop_key => 'start_date')
116 116 assert_match "01/01/2010", show_detail(@detail, true)
117 117 end
118 118 end
119 119
120 120 context "with a due_date attribute" do
121 121 should "format the current date" do
122 @detail = JournalDetail.generate!(:property => 'attr', :old_value => '2010-01-01', :value => '2010-01-31', :prop_key => 'due_date')
122 @detail = JournalDetail.new(:property => 'attr', :old_value => '2010-01-01', :value => '2010-01-31', :prop_key => 'due_date')
123 123 assert_match "01/31/2010", show_detail(@detail, true)
124 124 end
125 125
126 126 should "format the old date" do
127 @detail = JournalDetail.generate!(:property => 'attr', :old_value => '2010-01-01', :value => '2010-01-31', :prop_key => 'due_date')
127 @detail = JournalDetail.new(:property => 'attr', :old_value => '2010-01-01', :value => '2010-01-31', :prop_key => 'due_date')
128 128 assert_match "01/01/2010", show_detail(@detail, true)
129 129 end
130 130 end
131 131
132 132 context "with a project attribute" do
133 133 should_show_the_old_and_new_values_for('project_id', Project)
134 134 end
135 135
136 136 context "with a issue status attribute" do
137 137 should_show_the_old_and_new_values_for('status_id', IssueStatus)
138 138 end
139 139
140 140 context "with a tracker attribute" do
141 141 should_show_the_old_and_new_values_for('tracker_id', Tracker)
142 142 end
143 143
144 144 context "with a assigned to attribute" do
145 145 should_show_the_old_and_new_values_for('assigned_to_id', User)
146 146 end
147 147
148 148 context "with a priority attribute" do
149 149 should_show_the_old_and_new_values_for('priority_id', IssuePriority) do
150 150 @old_value = IssuePriority.generate!(:type => 'IssuePriority')
151 151 @new_value = IssuePriority.generate!(:type => 'IssuePriority')
152 152 end
153 153 end
154 154
155 155 context "with a category attribute" do
156 156 should_show_the_old_and_new_values_for('category_id', IssueCategory)
157 157 end
158 158
159 159 context "with a fixed version attribute" do
160 160 should_show_the_old_and_new_values_for('fixed_version_id', Version)
161 161 end
162 162
163 163 context "with a estimated hours attribute" do
164 164 should "format the time into two decimal places"
165 165 should "format the old time into two decimal places"
166 166 end
167 167
168 168 should "test custom fields"
169 169 should "test attachments"
170 170 end
171 171 end
General Comments 0
You need to be logged in to leave comments. Login now