# frozen_string_literal: true RSpec.describe ThemeSettingsValidator do describe ".validate_value" do it "does not throw an error when an integer value is given with type `string`" do errors = described_class.validate_value(1, ThemeSetting.types[:string], {}) expect(errors).to eq([]) end it "returns the right error messages when value is invalid for type `objects`" do errors = described_class.validate_value( [{ name: "something" }], ThemeSetting.types[:objects], { schema: { name: "test", properties: { name: { type: "string", validations: { max_length: 1, }, }, }, }, }, ) expect(errors).to contain_exactly( "The property at JSON Pointer '/0/name' must be at most 1 character long.", ) end end end