edavis10 / redmine

Redmine is a flexible project management web application written using Ruby on Rails framework. This is the official git mirror of the svn repository

This URL has Read+Write access

Jean-Philippe Lang (author)
Sat Mar 15 00:43:51 -0700 2008
commit  033f59571322d91e493fad49a018a6f303791fdc
tree    0d10578d7de2bf966748c0c302c8ab8a11a6f1d9
parent  13ec81598b0f7eafb5fc6370198a5da36f7b404a
redmine / test / test_helper.rb
100644 73 lines (64 sloc) 2.744 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# 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"
require File.expand_path(File.dirname(__FILE__) + "/../config/environment")
require 'test_help'
require File.expand_path(File.dirname(__FILE__) + '/helper_testcase')
 
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...
  
  def log_user(login, password)
    get "/account/login"
    assert_equal nil, session[:user_id]
    assert_response :success
    assert_template "account/login"
    post "/account/login", :login => login, :password => password
    assert_redirected_to "my/page"
    assert_equal login, User.find(session[:user_id]).login
  end
end
 
 
# 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