Skip to content

Commit 0b073a7

Browse files
committed
Coerce a new test.
1 parent e19de7f commit 0b073a7

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
require 'cases/sqlserver_helper'
2+
require 'models/post'
3+
require 'models/comment'
4+
require 'models/author'
5+
require 'models/topic'
6+
require 'models/reply'
7+
require 'models/category'
8+
require 'models/company'
9+
require 'models/developer'
10+
require 'models/project'
11+
require 'models/minimalistic'
12+
require 'models/warehouse_thing'
13+
require 'models/parrot'
14+
require 'models/minivan'
15+
require 'models/person'
16+
require 'rexml/document'
17+
require 'active_support/core_ext/exception'
18+
19+
class PersistencesTestSqlserver < ActiveRecord::TestCase
20+
end
21+
22+
class PersistencesTest < ActiveRecord::TestCase
23+
24+
fixtures :topics, :companies, :developers, :projects, :computers, :accounts, :minimalistics, 'warehouse-things', :authors, :categorizations, :categories, :posts, :minivans
25+
26+
COERCED_TESTS = [:test_update_all_doesnt_ignore_order]
27+
28+
include SqlserverCoercedTest
29+
30+
def test_update_all_doesnt_ignore_order
31+
assert_equal authors(:david).id + 1, authors(:mary).id
32+
test_update_with_order_succeeds = lambda do |order|
33+
begin
34+
Author.order(order).update_all('id = id + 1')
35+
rescue ActiveRecord::ActiveRecordError
36+
false
37+
end
38+
end
39+
if test_update_with_order_succeeds.call('id DESC')
40+
assert !test_update_with_order_succeeds.call('id ASC')
41+
else
42+
assert_sql(/UPDATE .* \(SELECT .* ORDER BY id DESC\)/i) do
43+
test_update_with_order_succeeds.call('id DESC')
44+
end
45+
end
46+
end
47+
48+
end
49+
50+

0 commit comments

Comments
 (0)