Sha256: 73baf95d9403c99f25ffb86fc001a361e370e0b5e3bc24b44f68f4f0549f8d2e
Contents?: true
Size: 1.71 KB
Versions: 12
Compression:
Stored size: 1.71 KB
Contents
require "test_helper" require "json_schema" describe JsonSchema do describe ".parse" do it "succeeds" do schema, errors = JsonSchema.parse(schema_sample) assert schema end it "returns errors on a parsing problem" do pointer("#/properties").merge!( "app" => 4 ) schema, errors = JsonSchema.parse(schema_sample) refute schema assert_includes errors.map { |e| e.message }, %{Expected schema; value was: 4.} end it "returns errors on a reference expansion problem" do pointer("#/properties").merge!( "app" => { "$ref" => "#/bad-json-reference" } ) schema, errors = JsonSchema.parse(schema_sample) refute schema assert_includes errors.map { |e| e.message }, %{Couldn't resolve pointer "#/bad-json-reference".} end end describe ".parse!" do it "succeeds on .parse!" do assert JsonSchema.parse!(schema_sample) end it "returns errors on a parsing problem" do pointer("#/properties").merge!( "app" => 4 ) e = assert_raises(RuntimeError) do JsonSchema.parse!(schema_sample) end assert_includes e.message, %{Expected schema; value was: 4.} end it "returns errors on a reference expansion problem" do pointer("#/properties").merge!( "app" => { "$ref" => "#/bad-json-reference" } ) e = assert_raises(RuntimeError) do JsonSchema.parse!(schema_sample) end assert_includes e.message, %{Couldn't resolve pointer "#/bad-json-reference".} end end def pointer(path) JsonPointer.evaluate(schema_sample, path) end def schema_sample @schema_sample ||= DataScaffold.schema_sample end end
Version data entries
12 entries across 12 versions & 1 rubygems