| 
									
										
										
										
											2008-12-12 13:49:14 +00:00
										 |  |  | # Redmine - project management software | 
					
						
							| 
									
										
										
										
											2014-01-29 22:45:39 +00:00
										 |  |  | # Copyright (C) 2006-2014  Jean-Philippe Lang | 
					
						
							| 
									
										
										
										
											2008-12-12 13:49:14 +00:00
										 |  |  | # | 
					
						
							|  |  |  | # This program is free software; you can redistribute it and/or | 
					
						
							|  |  |  | # modify it under the terms of the GNU General Public License | 
					
						
							|  |  |  | # as published by the Free Software Foundation; either version 2 | 
					
						
							|  |  |  | # of the License, or (at your option) any later version. | 
					
						
							| 
									
										
										
										
											2011-05-18 07:56:16 +00:00
										 |  |  | # | 
					
						
							| 
									
										
										
										
											2008-12-12 13:49:14 +00:00
										 |  |  | # This program is distributed in the hope that it will be useful, | 
					
						
							|  |  |  | # but WITHOUT ANY WARRANTY; without even the implied warranty of | 
					
						
							|  |  |  | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
					
						
							|  |  |  | # GNU General Public License for more details. | 
					
						
							| 
									
										
										
										
											2011-05-18 07:56:16 +00:00
										 |  |  | # | 
					
						
							| 
									
										
										
										
											2008-12-12 13:49:14 +00:00
										 |  |  | # You should have received a copy of the GNU General Public License | 
					
						
							|  |  |  | # along with this program; if not, write to the Free Software | 
					
						
							|  |  |  | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-12-12 23:24:34 +00:00
										 |  |  | require File.expand_path('../../test_helper', __FILE__) | 
					
						
							| 
									
										
										
										
											2008-12-12 13:49:14 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-09-13 17:14:35 +00:00
										 |  |  | class DocumentTest < ActiveSupport::TestCase | 
					
						
							| 
									
										
										
										
											2012-08-21 02:15:04 +00:00
										 |  |  |   fixtures :projects, :enumerations, :documents, :attachments, | 
					
						
							|  |  |  |            :enabled_modules, | 
					
						
							|  |  |  |            :users, :members, :member_roles, :roles, | 
					
						
							|  |  |  |            :groups_users | 
					
						
							| 
									
										
										
										
											2008-12-12 13:49:14 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   def test_create | 
					
						
							|  |  |  |     doc = Document.new(:project => Project.find(1), :title => 'New document', :category => Enumeration.find_by_name('User documentation')) | 
					
						
							|  |  |  |     assert doc.save | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2011-05-18 07:56:16 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-03-28 00:38:57 +00:00
										 |  |  |   def test_create_should_send_email_notification | 
					
						
							|  |  |  |     ActionMailer::Base.deliveries.clear | 
					
						
							| 
									
										
										
										
											2012-07-08 12:23:47 +00:00
										 |  |  |      | 
					
						
							|  |  |  |     with_settings :notified_events => %w(document_added) do | 
					
						
							|  |  |  |       doc = Document.new(:project => Project.find(1), :title => 'New document', :category => Enumeration.find_by_name('User documentation')) | 
					
						
							|  |  |  |       assert doc.save | 
					
						
							|  |  |  |     end | 
					
						
							| 
									
										
										
										
											2009-03-28 00:38:57 +00:00
										 |  |  |     assert_equal 1, ActionMailer::Base.deliveries.size | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-12 13:49:14 +00:00
										 |  |  |   def test_create_with_default_category | 
					
						
							|  |  |  |     # Sets a default category | 
					
						
							|  |  |  |     e = Enumeration.find_by_name('Technical documentation') | 
					
						
							|  |  |  |     e.update_attributes(:is_default => true) | 
					
						
							| 
									
										
										
										
											2011-05-18 07:56:16 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-12 13:49:14 +00:00
										 |  |  |     doc = Document.new(:project => Project.find(1), :title => 'New document') | 
					
						
							|  |  |  |     assert_equal e, doc.category | 
					
						
							|  |  |  |     assert doc.save | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2011-05-18 07:56:16 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-26 20:12:20 +00:00
										 |  |  |   def test_updated_on_with_attachments | 
					
						
							|  |  |  |     d = Document.find(1) | 
					
						
							|  |  |  |     assert d.attachments.any? | 
					
						
							|  |  |  |     assert_equal d.attachments.map(&:created_on).max, d.updated_on | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2011-05-18 07:56:16 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-26 20:12:20 +00:00
										 |  |  |   def test_updated_on_without_attachments | 
					
						
							|  |  |  |     d = Document.find(2) | 
					
						
							|  |  |  |     assert d.attachments.empty? | 
					
						
							|  |  |  |     assert_equal d.created_on, d.updated_on | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2008-12-12 13:49:14 +00:00
										 |  |  | end |