| 
									
										
										
										
											2006-07-09 16:30:01 +00:00
										 |  |  | # redMine - project management software | 
					
						
							|  |  |  | # Copyright (C) 2006  Jean-Philippe Lang | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # 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. | 
					
						
							|  |  |  | #  | 
					
						
							|  |  |  | # 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. | 
					
						
							|  |  |  | #  | 
					
						
							|  |  |  | # 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. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ENV["RAILS_ENV"] ||= "test" | 
					
						
							| 
									
										
										
										
											2006-06-28 18:11:03 +00:00
										 |  |  | require File.expand_path(File.dirname(__FILE__) + "/../config/environment") | 
					
						
							|  |  |  | require 'test_help' | 
					
						
							| 
									
										
										
										
											2007-09-02 20:41:47 +00:00
										 |  |  | require File.expand_path(File.dirname(__FILE__) + '/helper_testcase') | 
					
						
							| 
									
										
										
										
											2006-06-28 18:11:03 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | class Test::Unit::TestCase | 
					
						
							|  |  |  |   # Transactional fixtures accelerate your tests by wrapping each test method | 
					
						
							|  |  |  |   # in a transaction that's rolled back on completion.  This ensures that the | 
					
						
							|  |  |  |   # test database remains unchanged so your fixtures don't have to be reloaded | 
					
						
							|  |  |  |   # between every test method.  Fewer database queries means faster tests. | 
					
						
							|  |  |  |   # | 
					
						
							|  |  |  |   # Read Mike Clark's excellent walkthrough at | 
					
						
							|  |  |  |   #   http://clarkware.com/cgi/blosxom/2005/10/24#Rails10FastTesting | 
					
						
							|  |  |  |   # | 
					
						
							|  |  |  |   # Every Active Record database supports transactions except MyISAM tables | 
					
						
							|  |  |  |   # in MySQL.  Turn off transactional fixtures in this case; however, if you | 
					
						
							|  |  |  |   # don't care one way or the other, switching from MyISAM to InnoDB tables | 
					
						
							|  |  |  |   # is recommended. | 
					
						
							|  |  |  |   self.use_transactional_fixtures = true | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   # Instantiated fixtures are slow, but give you @david where otherwise you | 
					
						
							|  |  |  |   # would need people(:david).  If you don't want to migrate your existing | 
					
						
							|  |  |  |   # test cases which use the @david style and don't mind the speed hit (each | 
					
						
							|  |  |  |   # instantiated fixtures translates to a database query per test method), | 
					
						
							|  |  |  |   # then set this back to true. | 
					
						
							|  |  |  |   self.use_instantiated_fixtures  = false | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   # Add more helper methods to be used by all tests here... | 
					
						
							| 
									
										
										
										
											2006-07-09 16:30:01 +00:00
										 |  |  |    | 
					
						
							|  |  |  |   def log_user(login, password) | 
					
						
							|  |  |  |     get "/account/login" | 
					
						
							| 
									
										
										
										
											2006-07-29 09:32:58 +00:00
										 |  |  |     assert_equal nil, session[:user_id] | 
					
						
							| 
									
										
										
										
											2006-07-09 16:30:01 +00:00
										 |  |  |     assert_response :success | 
					
						
							|  |  |  |     assert_template "account/login" | 
					
						
							|  |  |  |     post "/account/login", :login => login, :password => password | 
					
						
							| 
									
										
										
										
											2006-12-03 19:55:45 +00:00
										 |  |  |     assert_redirected_to "my/page" | 
					
						
							| 
									
										
										
										
											2006-07-29 09:32:58 +00:00
										 |  |  |     assert_equal login, User.find(session[:user_id]).login | 
					
						
							| 
									
										
										
										
											2006-07-09 16:30:01 +00:00
										 |  |  |   end | 
					
						
							| 
									
										
										
										
											2006-06-28 18:11:03 +00:00
										 |  |  | end | 
					
						
							| 
									
										
										
										
											2007-02-18 11:41:39 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # ActionController::TestUploadedFile bug | 
					
						
							|  |  |  | # see http://dev.rubyonrails.org/ticket/4635 | 
					
						
							|  |  |  | class String | 
					
						
							|  |  |  |   def original_filename | 
					
						
							|  |  |  |     "testfile.txt" | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  |    | 
					
						
							|  |  |  |   def content_type | 
					
						
							|  |  |  |     "text/plain" | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  |    | 
					
						
							|  |  |  |   def read | 
					
						
							|  |  |  |     self.to_s | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | end |