test/unit/schemacop/v3/array_node_test.rb in schemacop-3.0.0.rc1 vs test/unit/schemacop/v3/array_node_test.rb in schemacop-3.0.0.rc2
- old
+ new
@@ -444,12 +444,12 @@
assert_validation(['foo', 42, { foo: 'String' }]) do
error '/[2]/foo', 'String does not match format "date".'
end
assert_cast(['foo', 42], ['foo', 42])
- assert_cast(['foo', 42, { foo: '1990-01-01' }], ['foo', 42, { foo: Date.new(1990, 1, 1) }])
- assert_cast(['foo', 42, { foo: '1990-01-01', bar: :baz }], ['foo', 42, { foo: Date.new(1990, 1, 1), bar: :baz }])
+ assert_cast(['foo', 42, { foo: '1990-01-01' }], ['foo', 42, { foo: Date.new(1990, 1, 1) }.with_indifferent_access])
+ assert_cast(['foo', 42, { foo: '1990-01-01', bar: :baz }], ['foo', 42, { foo: Date.new(1990, 1, 1), bar: :baz }.with_indifferent_access])
end
def test_multiple_add_in_schema
assert_raises_with_message Exceptions::InvalidSchemaError,
'You can only use "add" once to specify additional items.' do
@@ -535,11 +535,11 @@
}
],
additionalItems: false
)
- assert_cast [{}], [{ name: 'John' }]
+ assert_cast [{}], [{ name: 'John' }.with_indifferent_access]
end
def test_enum_schema
schema :array, enum: [1, 2, 'foo', :bar, { qux: 42 }, [1, 2], %w[a b]]
@@ -797,9 +797,19 @@
error '/', 'At least one entry must match schema {"type"=>"string", "format"=>"date"}.'
end
assert_validation(%w[foo 1990-01-01])
assert_cast(%w[foo 1990-01-01], ['foo', Date.new(1990, 1, 1)])
+ end
+
+ def test_contains_multiple_should_fail
+ assert_raises_with_message Exceptions::InvalidSchemaError, 'You can only use "cont" once.' do
+ schema :array do
+ list :string
+ cont :string
+ cont :integer
+ end
+ end
end
end
end
end