Skip to content

Commit d1a9e53

Browse files
committed
[Rails3] Missing test cases from last commit.
1 parent 0dba8b0 commit d1a9e53

6 files changed

+122
-0
lines changed
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
require 'cases/sqlserver_helper'
2+
3+
class BelongsToAssociationsTestSqlserver < ActiveRecord::TestCase
4+
end
5+
6+
class BelongsToAssociationsTest < ActiveRecord::TestCase
7+
8+
COERCED_TESTS = [:test_belongs_to_with_primary_key_joins_on_correct_column]
9+
10+
include SqlserverCoercedTest
11+
12+
def test_coerced_belongs_to_with_primary_key_joins_on_correct_column
13+
sql = Client.joins(:firm_with_primary_key).to_sql
14+
assert_no_match(/\[firm_with_primary_keys_companies\]\.\[id\]/, sql)
15+
assert_match(/\[firm_with_primary_keys_companies\]\.\[name\]/, sql)
16+
end
17+
18+
19+
end
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
require 'cases/sqlserver_helper'
2+
3+
class CalculationsTestSqlserver < ActiveRecord::TestCase
4+
end
5+
6+
class CalculationsTest < ActiveRecord::TestCase
7+
8+
COERCED_TESTS = [:test_should_sum_expression]
9+
10+
include SqlserverCoercedTest
11+
12+
fixtures :accounts
13+
14+
def test_coerced_should_sum_expression
15+
assert_equal 636, Account.sum("2 * credit_limit")
16+
end
17+
18+
19+
end

test/cases/eager_test_sqlserver.rb

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
require 'cases/sqlserver_helper'
2+
require 'models/post'
3+
require 'models/comment'
4+
require 'models/author'
5+
6+
class EagerAssociationTestSqlserver < ActiveRecord::TestCase
7+
end
8+
9+
class EagerAssociationTest < ActiveRecord::TestCase
10+
11+
COERCED_TESTS = [:test_count_with_include]
12+
13+
include SqlserverCoercedTest
14+
15+
fixtures :posts, :comments, :authors
16+
17+
def test_coerced_count_with_include
18+
assert_equal 3, authors(:david).posts_with_comments.count(:conditions => "len(comments.body) > 15")
19+
end
20+
21+
22+
end
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
require 'cases/sqlserver_helper'
2+
require 'models/event'
3+
4+
class FinderTestSqlserver < ActiveRecord::TestCase
5+
end
6+
7+
class FinderTest < ActiveRecord::TestCase
8+
9+
COERCED_TESTS = [:test_string_sanitation]
10+
11+
include SqlserverCoercedTest
12+
13+
def test_coerced_string_sanitation
14+
assert_not_equal "'something ' 1=1'", ActiveRecord::Base.sanitize("something ' 1=1")
15+
if quote_values_as_utf8?
16+
assert_equal "N'something; select table'", ActiveRecord::Base.sanitize("something; select table")
17+
else
18+
assert_equal "'something; select table'", ActiveRecord::Base.sanitize("something; select table")
19+
end
20+
end
21+
22+
end
23+
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
require 'cases/sqlserver_helper'
2+
3+
class HasAndBelongsToManyAssociationsTestSqlserver < ActiveRecord::TestCase
4+
end
5+
6+
class HasAndBelongsToManyAssociationsTest < ActiveRecord::TestCase
7+
8+
COERCED_TESTS = [:test_count_with_finder_sql]
9+
10+
include SqlserverCoercedTest
11+
12+
def test_coerced_count_with_finder_sql
13+
assert true
14+
end
15+
16+
17+
end
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
require 'cases/sqlserver_helper'
2+
require 'models/task'
3+
4+
class QueryCacheTestSqlserver < ActiveRecord::TestCase
5+
end
6+
7+
class QueryCacheTest < ActiveRecord::TestCase
8+
9+
COERCED_TESTS = [:test_cache_does_not_wrap_string_results_in_arrays]
10+
11+
include SqlserverCoercedTest
12+
13+
fixtures :tasks
14+
15+
def test_coerced_cache_does_not_wrap_string_results_in_arrays
16+
Task.cache do
17+
assert_instance_of Fixnum, Task.connection.select_value("SELECT count(*) AS count_all FROM tasks")
18+
end
19+
end
20+
21+
22+
end

0 commit comments

Comments
 (0)