Description:
started cleaning up tests, fixed fixtures loading error, removed error when contest time limit is uninitialized
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r275:3720a1af46c5 - - 19 files changed: 62 inserted, 197 deleted

@@ -324,13 +324,13
324 :memory_usage => memory_used
324 :memory_usage => memory_used
325 }
325 }
326 end
326 end
327
327
328 def update_user_start_time
328 def update_user_start_time
329 user = User.find(session[:user_id])
329 user = User.find(session[:user_id])
330 - UserContestStat.update_user_start_time(user)
330 + user.update_start_time
331 end
331 end
332
332
333 def reject_announcement_refresh_when_logged_out
333 def reject_announcement_refresh_when_logged_out
334 if not session[:user_id]
334 if not session[:user_id]
335 render :text => 'Access forbidden', :status => 403
335 render :text => 'Access forbidden', :status => 403
336 end
336 end
@@ -5,24 +5,30
5 #
5 #
6 class Configuration < ActiveRecord::Base
6 class Configuration < ActiveRecord::Base
7
7
8 SYSTEM_MODE_CONF_KEY = 'system.mode'
8 SYSTEM_MODE_CONF_KEY = 'system.mode'
9 TEST_REQUEST_EARLY_TIMEOUT_KEY = 'contest.test_request.early_timeout'
9 TEST_REQUEST_EARLY_TIMEOUT_KEY = 'contest.test_request.early_timeout'
10
10
11 - # set @@cache = true to only reload once.
11 + cattr_accessor :cache
12 - @@cache = false
12 + cattr_accessor :config_cache
13 + cattr_accessor :task_grading_info
14 + cattr_accessor :contest_time_str
15 + cattr_accessor :contest_time
13
16
14 - @@configurations = nil
17 + # set @@cache = true to only reload once.
15 - @@task_grading_info = nil
18 + Configuration.cache = false
19 +
20 + Configuration.config_cache = nil
21 + Configuration.task_grading_info = nil
16
22
17 def self.get(key)
23 def self.get(key)
18 - if @@cache
24 + if Configuration.cache
19 - if @@configurations == nil
25 + if Configuration.config_cache == nil
20 self.read_config
26 self.read_config
21 end
27 end
22 - return @@configurations[key]
28 + return Configuration.config_cache[key]
23 else
29 else
24 return Configuration.read_one_key(key)
30 return Configuration.read_one_key(key)
25 end
31 end
26 end
32 end
27
33
28 def self.[](key)
34 def self.[](key)
@@ -31,21 +37,21
31
37
32 def self.reload
38 def self.reload
33 self.read_config
39 self.read_config
34 end
40 end
35
41
36 def self.clear
42 def self.clear
37 - @@configurations = nil
43 + Configuration.config_cache = nil
38 end
44 end
39
45
40 def self.cache?
46 def self.cache?
41 - @@cache
47 + Configuration.cache
42 end
48 end
43
49
44 def self.enable_caching
50 def self.enable_caching
45 - @@cache = true
51 + Configuration.cache = true
46 end
52 end
47
53
48 #
54 #
49 # View decision
55 # View decision
50 #
56 #
51 def self.show_submitbox_to?(user)
57 def self.show_submitbox_to?(user)
@@ -79,16 +85,16
79 end
85 end
80 return false if mode=='analysis'
86 return false if mode=='analysis'
81 return true
87 return true
82 end
88 end
83
89
84 def self.task_grading_info
90 def self.task_grading_info
85 - if @@task_grading_info==nil
91 + if Configuration.task_grading_info==nil
86 read_grading_info
92 read_grading_info
87 end
93 end
88 - return @@task_grading_info
94 + return Configuration.task_grading_info
89 end
95 end
90
96
91 def self.standard_mode?
97 def self.standard_mode?
92 return get(SYSTEM_MODE_CONF_KEY) == 'standard'
98 return get(SYSTEM_MODE_CONF_KEY) == 'standard'
93 end
99 end
94
100
@@ -109,28 +115,28
109 return get(SYSTEM_MODE_CONF_KEY) == 'analysis'
115 return get(SYSTEM_MODE_CONF_KEY) == 'analysis'
110 end
116 end
111
117
112 def self.contest_time_limit
118 def self.contest_time_limit
113 contest_time_str = Configuration['contest.time_limit']
119 contest_time_str = Configuration['contest.time_limit']
114
120
115 - if not defined? @@contest_time_str
121 + if not defined? Configuration.contest_time_str
116 - @@contest_time_str = nil
122 + Configuration.contest_time_str = nil
117 end
123 end
118
124
119 - if @@contest_time_str != contest_time_str
125 + if Configuration.contest_time_str != contest_time_str
120 - @@contest_time_str = contest_time_str
126 + Configuration.contest_time_str = contest_time_str
121 if tmatch = /(\d+):(\d+)/.match(contest_time_str)
127 if tmatch = /(\d+):(\d+)/.match(contest_time_str)
122 h = tmatch[1].to_i
128 h = tmatch[1].to_i
123 m = tmatch[2].to_i
129 m = tmatch[2].to_i
124
130
125 - @@contest_time = h.hour + m.minute
131 + Configuration.contest_time = h.hour + m.minute
126 else
132 else
127 - @@contest_time = nil
133 + Configuration.contest_time = nil
128 end
134 end
129 end
135 end
130 - return @@contest_time
136 + return Configuration.contest_time
131 end
137 end
132
138
133 protected
139 protected
134
140
135 def self.convert_type(val,type)
141 def self.convert_type(val,type)
136 case type
142 case type
@@ -143,17 +149,17
143 when 'boolean'
149 when 'boolean'
144 return (val=='true')
150 return (val=='true')
145 end
151 end
146 end
152 end
147
153
148 def self.read_config
154 def self.read_config
149 - @@configurations = {}
155 + Configuration.config_cache = {}
150 Configuration.find(:all).each do |conf|
156 Configuration.find(:all).each do |conf|
151 key = conf.key
157 key = conf.key
152 val = conf.value
158 val = conf.value
153 - @@configurations[key] = Configuration.convert_type(val,conf.value_type)
159 + Configuration.config_cache[key] = Configuration.convert_type(val,conf.value_type)
154 end
160 end
155 end
161 end
156
162
157 def self.read_one_key(key)
163 def self.read_one_key(key)
158 conf = Configuration.find_by_key(key)
164 conf = Configuration.find_by_key(key)
159 if conf
165 if conf
@@ -162,11 +168,11
162 return nil
168 return nil
163 end
169 end
164 end
170 end
165
171
166 def self.read_grading_info
172 def self.read_grading_info
167 f = File.open(TASK_GRADING_INFO_FILENAME)
173 f = File.open(TASK_GRADING_INFO_FILENAME)
168 - @@task_grading_info = YAML.load(f)
174 + Configuration.task_grading_info = YAML.load(f)
169 f.close
175 f.close
170 end
176 end
171
177
172 end
178 end
@@ -127,12 +127,15
127 def contest_time_left
127 def contest_time_left
128 if Configuration.contest_mode?
128 if Configuration.contest_mode?
129 return nil if site==nil
129 return nil if site==nil
130 return site.time_left
130 return site.time_left
131 elsif Configuration.indv_contest_mode?
131 elsif Configuration.indv_contest_mode?
132 time_limit = Configuration.contest_time_limit
132 time_limit = Configuration.contest_time_limit
133 + if time_limit == nil
134 + return nil
135 + end
133 if contest_stat==nil
136 if contest_stat==nil
134 return (Time.now.gmtime + time_limit) - Time.now.gmtime
137 return (Time.now.gmtime + time_limit) - Time.now.gmtime
135 else
138 else
136 finish_time = contest_stat.started_at + time_limit
139 finish_time = contest_stat.started_at + time_limit
137 current_time = Time.now.gmtime
140 current_time = Time.now.gmtime
138 if current_time > finish_time
141 if current_time > finish_time
@@ -167,12 +170,21
167 return site.started
170 return site.started
168 else
171 else
169 return true
172 return true
170 end
173 end
171 end
174 end
172
175
176 + def update_start_time
177 + stat = self.contest_stat
178 + if stat == nil
179 + stat = UserContestStat.new(:user => self,
180 + :started_at => Time.now.gmtime)
181 + stat.save
182 + end
183 + end
184 +
173 protected
185 protected
174 def encrypt_new_password
186 def encrypt_new_password
175 return if password.blank?
187 return if password.blank?
176 self.salt = (10+rand(90)).to_s
188 self.salt = (10+rand(90)).to_s
177 self.hashed_password = User.encrypt(self.password,self.salt)
189 self.hashed_password = User.encrypt(self.password,self.salt)
178 end
190 end
@@ -1,14 +1,5
1 class UserContestStat < ActiveRecord::Base
1 class UserContestStat < ActiveRecord::Base
2
2
3 belongs_to :user
3 belongs_to :user
4
4
5 - def self.update_user_start_time(user)
6 - stat = user.contest_stat
7 - if stat == nil
8 - stat = UserContestStat.new(:user => user,
9 - :started_at => Time.now.gmtime)
10 - stat.save
11 end
5 end
12 - end
13 -
14 - end
@@ -9,9 +9,9
9 admin_role.rights << graders_right;
9 admin_role.rights << graders_right;
10 admin_role.save
10 admin_role.save
11 end
11 end
12
12
13 def self.down
13 def self.down
14 graders_right = Right.find_by_name('graders_admin')
14 graders_right = Right.find_by_name('graders_admin')
15 - graders_right.destroy
15 + graders_right.destroy if graders_right
16 end
16 end
17 end
17 end
@@ -21,9 +21,9
21 end
21 end
22
22
23 def self.down
23 def self.down
24 remove_column :users, :site_id
24 remove_column :users, :site_id
25
25
26 default_site = Site.find_by_name('default')
26 default_site = Site.find_by_name('default')
27 - default_site.destroy
27 + default_site.destroy if default_site
28 end
28 end
29 end
29 end
@@ -107,14 +107,12
107 t.date "date_added"
107 t.date "date_added"
108 t.boolean "available"
108 t.boolean "available"
109 t.string "url"
109 t.string "url"
110 t.integer "description_id"
110 t.integer "description_id"
111 t.boolean "test_allowed"
111 t.boolean "test_allowed"
112 t.boolean "output_only"
112 t.boolean "output_only"
113 - t.integer "level", :default => 0
114 - t.datetime "updated_at"
115 t.string "description_filename"
113 t.string "description_filename"
116 end
114 end
117
115
118 create_table "rights", :force => true do |t|
116 create_table "rights", :force => true do |t|
119 t.string "name"
117 t.string "name"
120 t.string "controller"
118 t.string "controller"
@@ -207,13 +205,12
207 create_table "test_pairs", :force => true do |t|
205 create_table "test_pairs", :force => true do |t|
208 t.integer "problem_id"
206 t.integer "problem_id"
209 t.text "input", :limit => 16777215
207 t.text "input", :limit => 16777215
210 t.text "solution", :limit => 16777215
208 t.text "solution", :limit => 16777215
211 t.datetime "created_at"
209 t.datetime "created_at"
212 t.datetime "updated_at"
210 t.datetime "updated_at"
213 - t.integer "number"
214 end
211 end
215
212
216 create_table "test_requests", :force => true do |t|
213 create_table "test_requests", :force => true do |t|
217 t.integer "user_id"
214 t.integer "user_id"
218 t.integer "problem_id"
215 t.integer "problem_id"
219 t.integer "submission_id"
216 t.integer "submission_id"
@@ -251,21 +248,11
251 t.string "email"
248 t.string "email"
252 t.integer "site_id"
249 t.integer "site_id"
253 t.integer "country_id"
250 t.integer "country_id"
254 t.boolean "activated", :default => false
251 t.boolean "activated", :default => false
255 t.datetime "created_at"
252 t.datetime "created_at"
256 t.datetime "updated_at"
253 t.datetime "updated_at"
257 - t.string "member1_full_name"
258 - t.string "member2_full_name"
259 - t.string "member3_full_name"
260 - t.boolean "high_school"
261 - t.string "member1_school_name"
262 - t.string "member2_school_name"
263 - t.string "member3_school_name"
264 - t.string "school_name"
265 - t.string "province"
266 - t.integer "year"
267 end
254 end
268
255
269 add_index "users", ["login"], :name => "index_users_on_login", :unique => true
256 add_index "users", ["login"], :name => "index_users_on_login", :unique => true
270
257
271 end
258 end
@@ -22,12 +22,13
22 response.should redirect_to(:action => 'login')
22 response.should redirect_to(:action => 'login')
23 end
23 end
24
24
25 it "should let user sees her own source" do
25 it "should let user sees her own source" do
26 Submission.should_receive(:find).with(@submission.id.to_s).and_return(@submission)
26 Submission.should_receive(:find).with(@submission.id.to_s).and_return(@submission)
27 User.should_receive(:find).with(1).and_return(@user)
27 User.should_receive(:find).with(1).and_return(@user)
28 + @user.should_receive(:update_start_time)
28 get 'source', {:id => @submission.id}, {:user_id => 1}
29 get 'source', {:id => @submission.id}, {:user_id => 1}
29 response.should be_success
30 response.should be_success
30 end
31 end
31
32
32 it "should let user sees her own compiler message" do
33 it "should let user sees her own compiler message" do
33 Submission.should_receive(:find).with(@submission.id.to_s).and_return(@submission)
34 Submission.should_receive(:find).with(@submission.id.to_s).and_return(@submission)
@@ -15,13 +15,13
15 Spec::Runner.configure do |config|
15 Spec::Runner.configure do |config|
16 # If you're not using ActiveRecord you should remove these
16 # If you're not using ActiveRecord you should remove these
17 # lines, delete config/database.yml and disable :active_record
17 # lines, delete config/database.yml and disable :active_record
18 # in your config/boot.rb
18 # in your config/boot.rb
19 config.use_transactional_fixtures = true
19 config.use_transactional_fixtures = true
20 config.use_instantiated_fixtures = false
20 config.use_instantiated_fixtures = false
21 - config.fixture_path = RAILS_ROOT + '/spec/fixtures/'
21 + config.fixture_path = RAILS_ROOT + '/test/fixtures/'
22
22
23 # == Fixtures
23 # == Fixtures
24 #
24 #
25 # You can declare fixtures for each example_group like this:
25 # You can declare fixtures for each example_group like this:
26 # describe "...." do
26 # describe "...." do
27 # fixtures :table_a, :table_b
27 # fixtures :table_a, :table_b
@@ -1,18 +1,20
1 # Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
1 # Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
2
2
3 <%
3 <%
4 User.public_class_method :encrypt
4 User.public_class_method :encrypt
5
5
6 - SALT = "abc"
6 + salt = "abc"
7 %>
7 %>
8
8
9 john:
9 john:
10 login: john
10 login: john
11 - hashed_password: <%= User.encrypt("hello",SALT) %>
11 + full_name: john
12 - salt: <%= SALT %>
12 + hashed_password: <%= User.encrypt("hello",salt) %>
13 + salt: <%= salt %>
13 mary:
14 mary:
14 login: mary
15 login: mary
15 - hashed_password: <%= User.encrypt("goodbye",SALT) %>
16 + full_name: mary
16 - salt: <%= SALT %>
17 + hashed_password: <%= User.encrypt("goodbye",salt) %>
18 + salt: <%= salt %>
17 roles: admin
19 roles: admin
18
20
@@ -1,45 +1,4
1 require File.dirname(__FILE__) + '/../test_helper'
1 require File.dirname(__FILE__) + '/../test_helper'
2
2
3 class AnnouncementsControllerTest < ActionController::TestCase
3 class AnnouncementsControllerTest < ActionController::TestCase
4 - def test_should_get_index
5 - get :index
6 - assert_response :success
7 - assert_not_nil assigns(:announcements)
8 end
4 end
9 -
10 - def test_should_get_new
11 - get :new
12 - assert_response :success
13 - end
14 -
15 - def test_should_create_announcement
16 - assert_difference('Announcement.count') do
17 - post :create, :announcement => { }
18 - end
19 -
20 - assert_redirected_to announcement_path(assigns(:announcement))
21 - end
22 -
23 - def test_should_show_announcement
24 - get :show, :id => announcements(:one).id
25 - assert_response :success
26 - end
27 -
28 - def test_should_get_edit
29 - get :edit, :id => announcements(:one).id
30 - assert_response :success
31 - end
32 -
33 - def test_should_update_announcement
34 - put :update, :id => announcements(:one).id, :announcement => { }
35 - assert_redirected_to announcement_path(assigns(:announcement))
36 - end
37 -
38 - def test_should_destroy_announcement
39 - assert_difference('Announcement.count', -1) do
40 - delete :destroy, :id => announcements(:one).id
41 - end
42 -
43 - assert_redirected_to announcements_path
44 - end
45 - end
@@ -1,45 +1,4
1 require 'test_helper'
1 require 'test_helper'
2
2
3 class ContestsControllerTest < ActionController::TestCase
3 class ContestsControllerTest < ActionController::TestCase
4 - test "should get index" do
5 - get :index
6 - assert_response :success
7 - assert_not_nil assigns(:contests)
8 end
4 end
9 -
10 - test "should get new" do
11 - get :new
12 - assert_response :success
13 - end
14 -
15 - test "should create contest" do
16 - assert_difference('Contest.count') do
17 - post :create, :contest => { }
18 - end
19 -
20 - assert_redirected_to contest_path(assigns(:contest))
21 - end
22 -
23 - test "should show contest" do
24 - get :show, :id => contests(:one).to_param
25 - assert_response :success
26 - end
27 -
28 - test "should get edit" do
29 - get :edit, :id => contests(:one).to_param
30 - assert_response :success
31 - end
32 -
33 - test "should update contest" do
34 - put :update, :id => contests(:one).to_param, :contest => { }
35 - assert_redirected_to contest_path(assigns(:contest))
36 - end
37 -
38 - test "should destroy contest" do
39 - assert_difference('Contest.count', -1) do
40 - delete :destroy, :id => contests(:one).to_param
41 - end
42 -
43 - assert_redirected_to contests_path
44 - end
45 - end
@@ -1,13 +1,13
1 require File.dirname(__FILE__) + '/../test_helper'
1 require File.dirname(__FILE__) + '/../test_helper'
2 require 'login_controller'
2 require 'login_controller'
3
3
4 # Re-raise errors caught by the controller.
4 # Re-raise errors caught by the controller.
5 class LoginController; def rescue_action(e) raise e end; end
5 class LoginController; def rescue_action(e) raise e end; end
6
6
7 - class LoginControllerTest < Test::Unit::TestCase
7 + class LoginControllerTest < ActionController::TestCase
8
8
9 fixtures :users
9 fixtures :users
10
10
11 def setup
11 def setup
12 @controller = LoginController.new
12 @controller = LoginController.new
13 @request = ActionController::TestRequest.new
13 @request = ActionController::TestRequest.new
@@ -1,27 +1,15
1 require File.dirname(__FILE__) + '/../test_helper'
1 require File.dirname(__FILE__) + '/../test_helper'
2 - require 'main_controller'
3
2
4 - # Re-raise errors caught by the controller.
3 + class MainControllerTest < ActionController::TestCase
5 - class MainController; def rescue_action(e) raise e end; end
4 + fixtures :users
6 -
7 - class MainControllerTest < Test::Unit::TestCase
8 -
9 fixtures :problems
5 fixtures :problems
10 - fixtures :users
11
6
12 - def setup
13 - @controller = MainController.new
14 - @request = ActionController::TestRequest.new
15 - @response = ActionController::TestResponse.new
16 - end
17 -
18 - # Replace this with your real tests.
19 def test_should_redirect_new_user_to_login
7 def test_should_redirect_new_user_to_login
20 get :list
8 get :list
21 - assert_redirected_to :action => 'login'
9 + assert_redirected_to :controller => 'main', :action => 'login'
22 end
10 end
23
11
24 def test_should_list_available_problems_if_logged_in
12 def test_should_list_available_problems_if_logged_in
25 john = users(:john)
13 john = users(:john)
26 get :list, {}, {:user_id => john.id}
14 get :list, {}, {:user_id => john.id}
27
15
@@ -1,13 +1,13
1 require File.dirname(__FILE__) + '/../test_helper'
1 require File.dirname(__FILE__) + '/../test_helper'
2 require 'problems_controller'
2 require 'problems_controller'
3
3
4 # Re-raise errors caught by the controller.
4 # Re-raise errors caught by the controller.
5 class ProblemsController; def rescue_action(e) raise e end; end
5 class ProblemsController; def rescue_action(e) raise e end; end
6
6
7 - class ProblemsControllerTest < Test::Unit::TestCase
7 + class ProblemsControllerTest < ActionController::TestCase
8 fixtures :problems
8 fixtures :problems
9
9
10 def setup
10 def setup
11 @controller = ProblemsController.new
11 @controller = ProblemsController.new
12 @request = ActionController::TestRequest.new
12 @request = ActionController::TestRequest.new
13 @response = ActionController::TestResponse.new
13 @response = ActionController::TestResponse.new
@@ -1,45 +1,4
1 require File.dirname(__FILE__) + '/../test_helper'
1 require File.dirname(__FILE__) + '/../test_helper'
2
2
3 class SitesControllerTest < ActionController::TestCase
3 class SitesControllerTest < ActionController::TestCase
4 - def test_should_get_index
5 - get :index
6 - assert_response :success
7 - assert_not_nil assigns(:sites)
8 end
4 end
9 -
10 - def test_should_get_new
11 - get :new
12 - assert_response :success
13 - end
14 -
15 - def test_should_create_site
16 - assert_difference('Site.count') do
17 - post :create, :site => { }
18 - end
19 -
20 - assert_redirected_to site_path(assigns(:site))
21 - end
22 -
23 - def test_should_show_site
24 - get :show, :id => sites(:one).id
25 - assert_response :success
26 - end
27 -
28 - def test_should_get_edit
29 - get :edit, :id => sites(:one).id
30 - assert_response :success
31 - end
32 -
33 - def test_should_update_site
34 - put :update, :id => sites(:one).id, :site => { }
35 - assert_redirected_to site_path(assigns(:site))
36 - end
37 -
38 - def test_should_destroy_site
39 - assert_difference('Site.count', -1) do
40 - delete :destroy, :id => sites(:one).id
41 - end
42 -
43 - assert_redirected_to sites_path
44 - end
45 - end
@@ -1,13 +1,13
1 require File.dirname(__FILE__) + '/../test_helper'
1 require File.dirname(__FILE__) + '/../test_helper'
2 require 'user_admin_controller'
2 require 'user_admin_controller'
3
3
4 # Re-raise errors caught by the controller.
4 # Re-raise errors caught by the controller.
5 class UserAdminController; def rescue_action(e) raise e end; end
5 class UserAdminController; def rescue_action(e) raise e end; end
6
6
7 - class UserAdminControllerTest < Test::Unit::TestCase
7 + class UserAdminControllerTest < ActionController::TestCase
8 fixtures :users
8 fixtures :users
9 fixtures :roles
9 fixtures :roles
10 fixtures :rights
10 fixtures :rights
11
11
12 def setup
12 def setup
13 @controller = UserAdminController.new
13 @controller = UserAdminController.new
@@ -1,13 +1,13
1 require File.dirname(__FILE__) + '/../test_helper'
1 require File.dirname(__FILE__) + '/../test_helper'
2 require 'users_controller'
2 require 'users_controller'
3
3
4 # Re-raise errors caught by the controller.
4 # Re-raise errors caught by the controller.
5 class UsersController; def rescue_action(e) raise e end; end
5 class UsersController; def rescue_action(e) raise e end; end
6
6
7 - class UsersControllerTest < Test::Unit::TestCase
7 + class UsersControllerTest < ActionController::TestCase
8 def setup
8 def setup
9 @controller = UsersController.new
9 @controller = UsersController.new
10 @request = ActionController::TestRequest.new
10 @request = ActionController::TestRequest.new
11 @response = ActionController::TestResponse.new
11 @response = ActionController::TestResponse.new
12 end
12 end
13
13
@@ -1,24 +1,25
1 ENV["RAILS_ENV"] = "test"
1 ENV["RAILS_ENV"] = "test"
2 require File.expand_path(File.dirname(__FILE__) + "/../config/environment")
2 require File.expand_path(File.dirname(__FILE__) + "/../config/environment")
3 require 'test_help'
3 require 'test_help'
4
4
5 - class Test::Unit::TestCase
5 + class ActiveSupport::TestCase
6 # Transactional fixtures accelerate your tests by wrapping each test method
6 # Transactional fixtures accelerate your tests by wrapping each test method
7 # in a transaction that's rolled back on completion. This ensures that the
7 # in a transaction that's rolled back on completion. This ensures that the
8 # test database remains unchanged so your fixtures don't have to be reloaded
8 # test database remains unchanged so your fixtures don't have to be reloaded
9 # between every test method. Fewer database queries means faster tests.
9 # between every test method. Fewer database queries means faster tests.
10 #
10 #
11 # Read Mike Clark's excellent walkthrough at
11 # Read Mike Clark's excellent walkthrough at
12 # http://clarkware.com/cgi/blosxom/2005/10/24#Rails10FastTesting
12 # http://clarkware.com/cgi/blosxom/2005/10/24#Rails10FastTesting
13 #
13 #
14 # Every Active Record database supports transactions except MyISAM tables
14 # Every Active Record database supports transactions except MyISAM tables
15 # in MySQL. Turn off transactional fixtures in this case; however, if you
15 # in MySQL. Turn off transactional fixtures in this case; however, if you
16 # don't care one way or the other, switching from MyISAM to InnoDB tables
16 # don't care one way or the other, switching from MyISAM to InnoDB tables
17 # is recommended.
17 # is recommended.
18 - self.use_transactional_fixtures = true
18 +
19 + self.use_transactional_fixtures = false
19
20
20 # Instantiated fixtures are slow, but give you @david where otherwise you
21 # Instantiated fixtures are slow, but give you @david where otherwise you
21 # would need people(:david). If you don't want to migrate your existing
22 # would need people(:david). If you don't want to migrate your existing
22 # test cases which use the @david style and don't mind the speed hit (each
23 # test cases which use the @david style and don't mind the speed hit (each
23 # instantiated fixtures translates to a database query per test method),
24 # instantiated fixtures translates to a database query per test method),
24 # then set this back to true.
25 # then set this back to true.
You need to be logged in to leave comments. Login now