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