Sha256: 3cd051626d5fc600bd06b0727c0befbd19895e972b0a46000619069f571e7a26

Contents?: true

Size: 1.31 KB

Versions: 2

Compression:

Stored size: 1.31 KB

Contents

require 'test_helper'

module ActiveModel
  class Serializer
    class AdapterTest < Minitest::Test
      def setup
        profile = Profile.new
        @serializer = ProfileSerializer.new(profile)
        @adapter = ActiveModel::Serializer::Adapter.new(@serializer)
      end

      def test_serializable_hash_is_abstract_method
        assert_raises(NotImplementedError) do
          @adapter.serializable_hash(only: [:name])
        end
      end

      def test_serializer
        assert_equal @serializer, @adapter.serializer
      end

      def test_adapter_class_for_known_adapter
        klass = ActiveModel::Serializer::Adapter.adapter_class(:json_api)
        assert_equal ActiveModel::Serializer::Adapter::JsonApi, klass
      end

      def test_adapter_class_for_unknown_adapter
        klass = ActiveModel::Serializer::Adapter.adapter_class(:json_simple)
        assert_nil klass
      end

      def test_create_adapter
        adapter = ActiveModel::Serializer::Adapter.create(@serializer)
        assert_equal ActiveModel::Serializer::Adapter::Json, adapter.class
      end

      def test_create_adapter_with_override
        adapter = ActiveModel::Serializer::Adapter.create(@serializer, { adapter: :json_api})
        assert_equal ActiveModel::Serializer::Adapter::JsonApi, adapter.class
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
cm-active_model_serializers-0.10.0.rc1.1 test/adapter_test.rb
active_model_serializers-0.10.0.rc1 test/adapter_test.rb