Move test_not_compatible_with_serialize_macro
to JSONSharedTestCases
Because `JSONSharedTestCases` is also used for `Mysql2JSONTest`.
This commit is contained in:
parent
8f44d16619
commit
7b11f0c8ca
@ -21,8 +21,8 @@ def test_default
|
|||||||
@connection.add_column "json_data_type", "permissions", column_type, default: { "users": "read", "posts": ["read", "write"] }
|
@connection.add_column "json_data_type", "permissions", column_type, default: { "users": "read", "posts": ["read", "write"] }
|
||||||
klass.reset_column_information
|
klass.reset_column_information
|
||||||
|
|
||||||
assert_equal({ "users" => "read", "posts" => ["read", "write"] }, JsonDataType.column_defaults["permissions"])
|
assert_equal({ "users" => "read", "posts" => ["read", "write"] }, klass.column_defaults["permissions"])
|
||||||
assert_equal({ "users" => "read", "posts" => ["read", "write"] }, JsonDataType.new.permissions)
|
assert_equal({ "users" => "read", "posts" => ["read", "write"] }, klass.new.permissions)
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_deserialize_with_array
|
def test_deserialize_with_array
|
||||||
@ -33,15 +33,6 @@ def test_deserialize_with_array
|
|||||||
x.reload
|
x.reload
|
||||||
assert_equal ["foo" => "bar"], x.objects
|
assert_equal ["foo" => "bar"], x.objects
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_not_compatible_with_serialize_macro
|
|
||||||
new_klass = Class.new(klass) do
|
|
||||||
serialize :payload, JSON
|
|
||||||
end
|
|
||||||
assert_raises(ActiveRecord::AttributeMethods::Serialization::ColumnNotSerializableError) do
|
|
||||||
new_klass.new
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
class PostgresqlJSONTest < ActiveRecord::PostgreSQLTestCase
|
class PostgresqlJSONTest < ActiveRecord::PostgreSQLTestCase
|
||||||
|
@ -216,6 +216,15 @@ def test_assigning_boolean
|
|||||||
assert_equal true, json.payload
|
assert_equal true, json.payload
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_not_compatible_with_serialize_macro
|
||||||
|
new_klass = Class.new(klass) do
|
||||||
|
serialize :payload, JSON
|
||||||
|
end
|
||||||
|
assert_raises(ActiveRecord::AttributeMethods::Serialization::ColumnNotSerializableError) do
|
||||||
|
new_klass.new
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
def klass
|
def klass
|
||||||
JsonDataType
|
JsonDataType
|
||||||
|
Loading…
Reference in New Issue
Block a user