diff --git a/spec/serializer_spec.rb b/spec/serializer_spec.rb index c2e5719..f98b70d 100644 --- a/spec/serializer_spec.rb +++ b/spec/serializer_spec.rb @@ -48,6 +48,13 @@ def color end end +class WrongSerializer + include Surrealist + json_schema { { name: String } } +end + + + RSpec.describe Surrealist::Serializer do describe 'Explicit surrealization through `Serializer.new`' do describe 'instance' do @@ -110,4 +117,18 @@ def color it { is_expected.to eq expectation } end end + + describe 'Wrong class specified in .surrealize_with' do + [WrongSerializer, Integer, ActiveRecord].each do |klass| + it 'raises error' do + expect do + Class.new do + include Surrealist + + surrealize_with klass + end + end.to raise_error(ArgumentError, "#{klass} should be inherited from Surrealist::Serializer") + end + end + end end