@@ -67,7 +67,10 class MailHandlerTest < ActiveSupport::TestCase | |||||
67 |
|
67 | |||
68 | def test_add_issue_with_default_tracker |
|
68 | def test_add_issue_with_default_tracker | |
69 | # This email contains: 'Project: onlinestore' |
|
69 | # This email contains: 'Project: onlinestore' | |
70 | issue = submit_email('ticket_on_given_project.eml', :issue => {:tracker => 'Support request'}) |
|
70 | issue = submit_email( | |
|
71 | 'ticket_on_given_project.eml', | |||
|
72 | :issue => {:tracker => 'Support request'} | |||
|
73 | ) | |||
71 | assert issue.is_a?(Issue) |
|
74 | assert issue.is_a?(Issue) | |
72 | assert !issue.new_record? |
|
75 | assert !issue.new_record? | |
73 | issue.reload |
|
76 | issue.reload | |
@@ -85,7 +88,10 class MailHandlerTest < ActiveSupport::TestCase | |||||
85 | end |
|
88 | end | |
86 |
|
89 | |||
87 | def test_add_issue_with_attributes_override |
|
90 | def test_add_issue_with_attributes_override | |
88 | issue = submit_email('ticket_with_attributes.eml', :allow_override => 'tracker,category,priority') |
|
91 | issue = submit_email( | |
|
92 | 'ticket_with_attributes.eml', | |||
|
93 | :allow_override => 'tracker,category,priority' | |||
|
94 | ) | |||
89 | assert issue.is_a?(Issue) |
|
95 | assert issue.is_a?(Issue) | |
90 | assert !issue.new_record? |
|
96 | assert !issue.new_record? | |
91 | issue.reload |
|
97 | issue.reload | |
@@ -111,7 +117,11 class MailHandlerTest < ActiveSupport::TestCase | |||||
111 | end |
|
117 | end | |
112 |
|
118 | |||
113 | def test_add_issue_with_partial_attributes_override |
|
119 | def test_add_issue_with_partial_attributes_override | |
114 | issue = submit_email('ticket_with_attributes.eml', :issue => {:priority => 'High'}, :allow_override => ['tracker']) |
|
120 | issue = submit_email( | |
|
121 | 'ticket_with_attributes.eml', | |||
|
122 | :issue => {:priority => 'High'}, | |||
|
123 | :allow_override => ['tracker'] | |||
|
124 | ) | |||
115 | assert issue.is_a?(Issue) |
|
125 | assert issue.is_a?(Issue) | |
116 | assert !issue.new_record? |
|
126 | assert !issue.new_record? | |
117 | issue.reload |
|
127 | issue.reload | |
@@ -125,7 +135,10 class MailHandlerTest < ActiveSupport::TestCase | |||||
125 | end |
|
135 | end | |
126 |
|
136 | |||
127 | def test_add_issue_with_spaces_between_attribute_and_separator |
|
137 | def test_add_issue_with_spaces_between_attribute_and_separator | |
128 | issue = submit_email('ticket_with_spaces_between_attribute_and_separator.eml', :allow_override => 'tracker,category,priority') |
|
138 | issue = submit_email( | |
|
139 | 'ticket_with_spaces_between_attribute_and_separator.eml', | |||
|
140 | :allow_override => 'tracker,category,priority' | |||
|
141 | ) | |||
129 | assert issue.is_a?(Issue) |
|
142 | assert issue.is_a?(Issue) | |
130 | assert !issue.new_record? |
|
143 | assert !issue.new_record? | |
131 | issue.reload |
|
144 | issue.reload | |
@@ -160,7 +173,8 class MailHandlerTest < ActiveSupport::TestCase | |||||
160 | assert !issue.new_record? |
|
173 | assert !issue.new_record? | |
161 | issue.reload |
|
174 | issue.reload | |
162 | assert_equal 'New ticket with custom field values', issue.subject |
|
175 | assert_equal 'New ticket with custom field values', issue.subject | |
163 | assert_equal 'Value for a custom field', issue.custom_value_for(CustomField.find_by_name('Searchable field')).value |
|
176 | assert_equal 'Value for a custom field', | |
|
177 | issue.custom_value_for(CustomField.find_by_name('Searchable field')).value | |||
164 | assert !issue.description.match(/^searchable field:/i) |
|
178 | assert !issue.description.match(/^searchable field:/i) | |
165 | end |
|
179 | end | |
166 |
|
180 | |||
@@ -175,14 +189,22 class MailHandlerTest < ActiveSupport::TestCase | |||||
175 |
|
189 | |||
176 | def test_add_issue_by_unknown_user |
|
190 | def test_add_issue_by_unknown_user | |
177 | assert_no_difference 'User.count' do |
|
191 | assert_no_difference 'User.count' do | |
178 | assert_equal false, submit_email('ticket_by_unknown_user.eml', :issue => {:project => 'ecookbook'}) |
|
192 | assert_equal false, | |
|
193 | submit_email( | |||
|
194 | 'ticket_by_unknown_user.eml', | |||
|
195 | :issue => {:project => 'ecookbook'} | |||
|
196 | ) | |||
179 | end |
|
197 | end | |
180 | end |
|
198 | end | |
181 |
|
199 | |||
182 | def test_add_issue_by_anonymous_user |
|
200 | def test_add_issue_by_anonymous_user | |
183 | Role.anonymous.add_permission!(:add_issues) |
|
201 | Role.anonymous.add_permission!(:add_issues) | |
184 | assert_no_difference 'User.count' do |
|
202 | assert_no_difference 'User.count' do | |
185 | issue = submit_email('ticket_by_unknown_user.eml', :issue => {:project => 'ecookbook'}, :unknown_user => 'accept') |
|
203 | issue = submit_email( | |
|
204 | 'ticket_by_unknown_user.eml', | |||
|
205 | :issue => {:project => 'ecookbook'}, | |||
|
206 | :unknown_user => 'accept' | |||
|
207 | ) | |||
186 | assert issue.is_a?(Issue) |
|
208 | assert issue.is_a?(Issue) | |
187 | assert issue.author.anonymous? |
|
209 | assert issue.author.anonymous? | |
188 | end |
|
210 | end | |
@@ -191,7 +213,11 class MailHandlerTest < ActiveSupport::TestCase | |||||
191 | def test_add_issue_by_anonymous_user_with_no_from_address |
|
213 | def test_add_issue_by_anonymous_user_with_no_from_address | |
192 | Role.anonymous.add_permission!(:add_issues) |
|
214 | Role.anonymous.add_permission!(:add_issues) | |
193 | assert_no_difference 'User.count' do |
|
215 | assert_no_difference 'User.count' do | |
194 | issue = submit_email('ticket_by_empty_user.eml', :issue => {:project => 'ecookbook'}, :unknown_user => 'accept') |
|
216 | issue = submit_email( | |
|
217 | 'ticket_by_empty_user.eml', | |||
|
218 | :issue => {:project => 'ecookbook'}, | |||
|
219 | :unknown_user => 'accept' | |||
|
220 | ) | |||
195 | assert issue.is_a?(Issue) |
|
221 | assert issue.is_a?(Issue) | |
196 | assert issue.author.anonymous? |
|
222 | assert issue.author.anonymous? | |
197 | end |
|
223 | end | |
@@ -201,7 +227,12 class MailHandlerTest < ActiveSupport::TestCase | |||||
201 | Role.anonymous.add_permission!(:add_issues) |
|
227 | Role.anonymous.add_permission!(:add_issues) | |
202 | assert_no_difference 'User.count' do |
|
228 | assert_no_difference 'User.count' do | |
203 | assert_no_difference 'Issue.count' do |
|
229 | assert_no_difference 'Issue.count' do | |
204 | assert_equal false, submit_email('ticket_by_unknown_user.eml', :issue => {:project => 'onlinestore'}, :unknown_user => 'accept') |
|
230 | assert_equal false, | |
|
231 | submit_email( | |||
|
232 | 'ticket_by_unknown_user.eml', | |||
|
233 | :issue => {:project => 'onlinestore'}, | |||
|
234 | :unknown_user => 'accept' | |||
|
235 | ) | |||
205 | end |
|
236 | end | |
206 | end |
|
237 | end | |
207 | end |
|
238 | end | |
@@ -209,7 +240,12 class MailHandlerTest < ActiveSupport::TestCase | |||||
209 | def test_add_issue_by_anonymous_user_on_private_project_without_permission_check |
|
240 | def test_add_issue_by_anonymous_user_on_private_project_without_permission_check | |
210 | assert_no_difference 'User.count' do |
|
241 | assert_no_difference 'User.count' do | |
211 | assert_difference 'Issue.count' do |
|
242 | assert_difference 'Issue.count' do | |
212 | issue = submit_email('ticket_by_unknown_user.eml', :issue => {:project => 'onlinestore'}, :no_permission_check => '1', :unknown_user => 'accept') |
|
243 | issue = submit_email( | |
|
244 | 'ticket_by_unknown_user.eml', | |||
|
245 | :issue => {:project => 'onlinestore'}, | |||
|
246 | :no_permission_check => '1', | |||
|
247 | :unknown_user => 'accept' | |||
|
248 | ) | |||
213 | assert issue.is_a?(Issue) |
|
249 | assert issue.is_a?(Issue) | |
214 | assert issue.author.anonymous? |
|
250 | assert issue.author.anonymous? | |
215 | assert !issue.project.is_public? |
|
251 | assert !issue.project.is_public? | |
@@ -221,7 +257,11 class MailHandlerTest < ActiveSupport::TestCase | |||||
221 | def test_add_issue_by_created_user |
|
257 | def test_add_issue_by_created_user | |
222 | Setting.default_language = 'en' |
|
258 | Setting.default_language = 'en' | |
223 | assert_difference 'User.count' do |
|
259 | assert_difference 'User.count' do | |
224 | issue = submit_email('ticket_by_unknown_user.eml', :issue => {:project => 'ecookbook'}, :unknown_user => 'create') |
|
260 | issue = submit_email( | |
|
261 | 'ticket_by_unknown_user.eml', | |||
|
262 | :issue => {:project => 'ecookbook'}, | |||
|
263 | :unknown_user => 'create' | |||
|
264 | ) | |||
225 | assert issue.is_a?(Issue) |
|
265 | assert issue.is_a?(Issue) | |
226 | assert issue.author.active? |
|
266 | assert issue.author.active? | |
227 | assert_equal 'john.doe@somenet.foo', issue.author.mail |
|
267 | assert_equal 'john.doe@somenet.foo', issue.author.mail | |
@@ -244,7 +284,10 class MailHandlerTest < ActiveSupport::TestCase | |||||
244 | end |
|
284 | end | |
245 |
|
285 | |||
246 | def test_add_issue_with_invalid_attributes |
|
286 | def test_add_issue_with_invalid_attributes | |
247 | issue = submit_email('ticket_with_invalid_attributes.eml', :allow_override => 'tracker,category,priority') |
|
287 | issue = submit_email( | |
|
288 | 'ticket_with_invalid_attributes.eml', | |||
|
289 | :allow_override => 'tracker,category,priority' | |||
|
290 | ) | |||
248 | assert issue.is_a?(Issue) |
|
291 | assert issue.is_a?(Issue) | |
249 | assert !issue.new_record? |
|
292 | assert !issue.new_record? | |
250 | issue.reload |
|
293 | issue.reload | |
@@ -258,7 +301,10 class MailHandlerTest < ActiveSupport::TestCase | |||||
258 |
|
301 | |||
259 | def test_add_issue_with_localized_attributes |
|
302 | def test_add_issue_with_localized_attributes | |
260 | User.find_by_mail('jsmith@somenet.foo').update_attribute 'language', 'fr' |
|
303 | User.find_by_mail('jsmith@somenet.foo').update_attribute 'language', 'fr' | |
261 | issue = submit_email('ticket_with_localized_attributes.eml', :allow_override => 'tracker,category,priority') |
|
304 | issue = submit_email( | |
|
305 | 'ticket_with_localized_attributes.eml', | |||
|
306 | :allow_override => 'tracker,category,priority' | |||
|
307 | ) | |||
262 | assert issue.is_a?(Issue) |
|
308 | assert issue.is_a?(Issue) | |
263 | assert !issue.new_record? |
|
309 | assert !issue.new_record? | |
264 | issue.reload |
|
310 | issue.reload | |
@@ -276,13 +322,20 class MailHandlerTest < ActiveSupport::TestCase | |||||
276 | ja_dev.force_encoding('UTF-8') if ja_dev.respond_to?(:force_encoding) |
|
322 | ja_dev.force_encoding('UTF-8') if ja_dev.respond_to?(:force_encoding) | |
277 | tracker = Tracker.create!(:name => ja_dev) |
|
323 | tracker = Tracker.create!(:name => ja_dev) | |
278 | Project.find(1).trackers << tracker |
|
324 | Project.find(1).trackers << tracker | |
279 | issue = submit_email('japanese_keywords_iso_2022_jp.eml', :issue => {:project => 'ecookbook'}, :allow_override => 'tracker') |
|
325 | issue = submit_email( | |
|
326 | 'japanese_keywords_iso_2022_jp.eml', | |||
|
327 | :issue => {:project => 'ecookbook'}, | |||
|
328 | :allow_override => 'tracker' | |||
|
329 | ) | |||
280 | assert_kind_of Issue, issue |
|
330 | assert_kind_of Issue, issue | |
281 | assert_equal tracker, issue.tracker |
|
331 | assert_equal tracker, issue.tracker | |
282 | end |
|
332 | end | |
283 |
|
333 | |||
284 | def test_add_issue_from_apple_mail |
|
334 | def test_add_issue_from_apple_mail | |
285 | issue = submit_email('apple_mail_with_attachment.eml', :issue => {:project => 'ecookbook'}) |
|
335 | issue = submit_email( | |
|
336 | 'apple_mail_with_attachment.eml', | |||
|
337 | :issue => {:project => 'ecookbook'} | |||
|
338 | ) | |||
286 | assert_kind_of Issue, issue |
|
339 | assert_kind_of Issue, issue | |
287 | assert_equal 1, issue.attachments.size |
|
340 | assert_equal 1, issue.attachments.size | |
288 |
|
341 | |||
@@ -297,7 +350,12 class MailHandlerTest < ActiveSupport::TestCase | |||||
297 | def test_should_ignore_emails_from_emission_address |
|
350 | def test_should_ignore_emails_from_emission_address | |
298 | Role.anonymous.add_permission!(:add_issues) |
|
351 | Role.anonymous.add_permission!(:add_issues) | |
299 | assert_no_difference 'User.count' do |
|
352 | assert_no_difference 'User.count' do | |
300 | assert_equal false, submit_email('ticket_from_emission_address.eml', :issue => {:project => 'ecookbook'}, :unknown_user => 'create') |
|
353 | assert_equal false, | |
|
354 | submit_email( | |||
|
355 | 'ticket_from_emission_address.eml', | |||
|
356 | :issue => {:project => 'ecookbook'}, | |||
|
357 | :unknown_user => 'create' | |||
|
358 | ) | |||
301 | end |
|
359 | end | |
302 | end |
|
360 | end | |
303 |
|
361 | |||
@@ -367,7 +425,10 class MailHandlerTest < ActiveSupport::TestCase | |||||
367 | end |
|
425 | end | |
368 |
|
426 | |||
369 | def test_update_issue_should_not_set_defaults |
|
427 | def test_update_issue_should_not_set_defaults | |
370 | journal = submit_email('ticket_reply.eml', :issue => {:tracker => 'Support request', :priority => 'High'}) |
|
428 | journal = submit_email( | |
|
429 | 'ticket_reply.eml', | |||
|
430 | :issue => {:tracker => 'Support request', :priority => 'High'} | |||
|
431 | ) | |||
371 | assert journal.is_a?(Journal) |
|
432 | assert journal.is_a?(Journal) | |
372 | assert_match /This is reply/, journal.notes |
|
433 | assert_match /This is reply/, journal.notes | |
373 | assert_equal 'Feature request', journal.issue.tracker.name |
|
434 | assert_equal 'Feature request', journal.issue.tracker.name |
General Comments 0
You need to be logged in to leave comments.
Login now