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"] }
|
||||
klass.reset_column_information
|
||||
|
||||
assert_equal({ "users" => "read", "posts" => ["read", "write"] }, JsonDataType.column_defaults["permissions"])
|
||||
assert_equal({ "users" => "read", "posts" => ["read", "write"] }, JsonDataType.new.permissions)
|
||||
assert_equal({ "users" => "read", "posts" => ["read", "write"] }, klass.column_defaults["permissions"])
|
||||
assert_equal({ "users" => "read", "posts" => ["read", "write"] }, klass.new.permissions)
|
||||
end
|
||||
|
||||
def test_deserialize_with_array
|
||||
@ -33,15 +33,6 @@ def test_deserialize_with_array
|
||||
x.reload
|
||||
assert_equal ["foo" => "bar"], x.objects
|
||||
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
|
||||
|
||||
class PostgresqlJSONTest < ActiveRecord::PostgreSQLTestCase
|
||||
|
@ -216,6 +216,15 @@ def test_assigning_boolean
|
||||
assert_equal true, json.payload
|
||||
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
|
||||
def klass
|
||||
JsonDataType
|
||||
|
Loading…
Reference in New Issue
Block a user