Mercurial > hg > soundsoftware-site
comparison test/unit/helpers/.svn/text-base/issues_helper_test.rb.svn-base @ 0:513646585e45
* Import Redmine trunk SVN rev 3859
author | Chris Cannam |
---|---|
date | Fri, 23 Jul 2010 15:52:44 +0100 |
parents | |
children | af80e5618e9b |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:513646585e45 |
---|---|
1 # Redmine - project management software | |
2 # Copyright (C) 2006-2010 Jean-Philippe Lang | |
3 # | |
4 # This program is free software; you can redistribute it and/or | |
5 # modify it under the terms of the GNU General Public License | |
6 # as published by the Free Software Foundation; either version 2 | |
7 # of the License, or (at your option) any later version. | |
8 # | |
9 # This program is distributed in the hope that it will be useful, | |
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
12 # GNU General Public License for more details. | |
13 # | |
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 | |
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |
17 | |
18 require File.dirname(__FILE__) + '/../../test_helper' | |
19 | |
20 class IssuesHelperTest < HelperTestCase | |
21 include ApplicationHelper | |
22 include IssuesHelper | |
23 | |
24 include ActionController::Assertions::SelectorAssertions | |
25 fixtures :all | |
26 | |
27 # Used by assert_select | |
28 def html_document | |
29 HTML::Document.new(@response.body) | |
30 end | |
31 | |
32 def setup | |
33 super | |
34 set_language_if_valid('en') | |
35 User.current = nil | |
36 @response = ActionController::TestResponse.new | |
37 end | |
38 | |
39 def controller | |
40 @controller ||= IssuesController.new | |
41 end | |
42 | |
43 def request | |
44 @request ||= ActionController::TestRequest.new | |
45 end | |
46 | |
47 context "IssuesHelper#show_detail" do | |
48 context "with no_html" do | |
49 should 'show a changing attribute' do | |
50 @detail = JournalDetail.generate!(:property => 'attr', :old_value => '40', :value => '100', :prop_key => 'done_ratio') | |
51 assert_equal "% Done changed from 40 to 100", show_detail(@detail, true) | |
52 end | |
53 | |
54 should 'show a new attribute' do | |
55 @detail = JournalDetail.generate!(:property => 'attr', :old_value => nil, :value => '100', :prop_key => 'done_ratio') | |
56 assert_equal "% Done set to 100", show_detail(@detail, true) | |
57 end | |
58 | |
59 should 'show a deleted attribute' do | |
60 @detail = JournalDetail.generate!(:property => 'attr', :old_value => '50', :value => nil, :prop_key => 'done_ratio') | |
61 assert_equal "% Done deleted (50)", show_detail(@detail, true) | |
62 end | |
63 end | |
64 | |
65 context "with html" do | |
66 should 'show a changing attribute with HTML highlights' do | |
67 @detail = JournalDetail.generate!(:property => 'attr', :old_value => '40', :value => '100', :prop_key => 'done_ratio') | |
68 @response.body = show_detail(@detail, false) | |
69 | |
70 assert_select 'strong', :text => '% Done' | |
71 assert_select 'i', :text => '40' | |
72 assert_select 'i', :text => '100' | |
73 end | |
74 | |
75 should 'show a new attribute with HTML highlights' do | |
76 @detail = JournalDetail.generate!(:property => 'attr', :old_value => nil, :value => '100', :prop_key => 'done_ratio') | |
77 @response.body = show_detail(@detail, false) | |
78 | |
79 assert_select 'strong', :text => '% Done' | |
80 assert_select 'i', :text => '100' | |
81 end | |
82 | |
83 should 'show a deleted attribute with HTML highlights' do | |
84 @detail = JournalDetail.generate!(:property => 'attr', :old_value => '50', :value => nil, :prop_key => 'done_ratio') | |
85 @response.body = show_detail(@detail, false) | |
86 | |
87 assert_select 'strong', :text => '% Done' | |
88 assert_select 'strike' do | |
89 assert_select 'i', :text => '50' | |
90 end | |
91 end | |
92 end | |
93 | |
94 context "with a start_date attribute" do | |
95 should "format the current date" do | |
96 @detail = JournalDetail.generate!(:property => 'attr', :old_value => '2010-01-01', :value => '2010-01-31', :prop_key => 'start_date') | |
97 assert_match "01/31/2010", show_detail(@detail, true) | |
98 end | |
99 | |
100 should "format the old date" do | |
101 @detail = JournalDetail.generate!(:property => 'attr', :old_value => '2010-01-01', :value => '2010-01-31', :prop_key => 'start_date') | |
102 assert_match "01/01/2010", show_detail(@detail, true) | |
103 end | |
104 end | |
105 | |
106 context "with a due_date attribute" do | |
107 should "format the current date" do | |
108 @detail = JournalDetail.generate!(:property => 'attr', :old_value => '2010-01-01', :value => '2010-01-31', :prop_key => 'due_date') | |
109 assert_match "01/31/2010", show_detail(@detail, true) | |
110 end | |
111 | |
112 should "format the old date" do | |
113 @detail = JournalDetail.generate!(:property => 'attr', :old_value => '2010-01-01', :value => '2010-01-31', :prop_key => 'due_date') | |
114 assert_match "01/01/2010", show_detail(@detail, true) | |
115 end | |
116 end | |
117 | |
118 context "with a project attribute" do | |
119 should_show_the_old_and_new_values_for('project_id', Project) | |
120 end | |
121 | |
122 context "with a issue status attribute" do | |
123 should_show_the_old_and_new_values_for('status_id', IssueStatus) | |
124 end | |
125 | |
126 context "with a tracker attribute" do | |
127 should_show_the_old_and_new_values_for('tracker_id', Tracker) | |
128 end | |
129 | |
130 context "with a assigned to attribute" do | |
131 should_show_the_old_and_new_values_for('assigned_to_id', User) | |
132 end | |
133 | |
134 context "with a priority attribute" do | |
135 should_show_the_old_and_new_values_for('priority_id', IssuePriority) do | |
136 @old_value = IssuePriority.generate!(:type => 'IssuePriority') | |
137 @new_value = IssuePriority.generate!(:type => 'IssuePriority') | |
138 end | |
139 end | |
140 | |
141 context "with a category attribute" do | |
142 should_show_the_old_and_new_values_for('category_id', IssueCategory) | |
143 end | |
144 | |
145 context "with a fixed version attribute" do | |
146 should_show_the_old_and_new_values_for('fixed_version_id', Version) | |
147 end | |
148 | |
149 context "with a estimated hours attribute" do | |
150 should "format the time into two decimal places" | |
151 should "format the old time into two decimal places" | |
152 end | |
153 | |
154 should "test custom fields" | |
155 should "test attachments" | |
156 | |
157 end | |
158 | |
159 end |