File: deprecation_test.rb

package info (click to toggle)
ruby-active-model-serializers 0.10.12-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 1,752 kB
  • sloc: ruby: 13,138; sh: 53; makefile: 6
file content (102 lines) | stat: -rw-r--r-- 2,557 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# frozen_string_literal: true

require 'test_helper'
module ActiveModel
  class Serializer
    module Adapter
      class DeprecationTest < ActiveSupport::TestCase
        class PostSerializer < ActiveModel::Serializer
          attribute :body
        end
        setup do
          post = Post.new(id: 1, body: 'Hello')
          @serializer = PostSerializer.new(post)
        end

        def test_null_adapter_serialization_deprecation
          expected = {}
          assert_deprecated do
            assert_equal(expected, Null.new(@serializer).as_json)
          end
        end

        def test_json_adapter_serialization_deprecation
          expected = { post: { body: 'Hello' } }
          assert_deprecated do
            assert_equal(expected, Json.new(@serializer).as_json)
          end
        end

        def test_jsonapi_adapter_serialization_deprecation
          expected = {
            data: {
              id: '1',
              type: 'posts',
              attributes: {
                body: 'Hello'
              }
            }
          }
          assert_deprecated do
            assert_equal(expected, JsonApi.new(@serializer).as_json)
          end
        end

        def test_attributes_adapter_serialization_deprecation
          expected = { body: 'Hello' }
          assert_deprecated do
            assert_equal(expected, Attributes.new(@serializer).as_json)
          end
        end

        def test_adapter_create_deprecation
          assert_deprecated do
            Adapter.create(@serializer)
          end
        end

        def test_adapter_adapter_map_deprecation
          assert_deprecated do
            Adapter.adapter_map
          end
        end

        def test_adapter_adapters_deprecation
          assert_deprecated do
            Adapter.adapters
          end
        end

        def test_adapter_adapter_class_deprecation
          assert_deprecated do
            Adapter.adapter_class(:json_api)
          end
        end

        def test_adapter_register_deprecation
          assert_deprecated do
            begin
              Adapter.register(:test, Class.new)
            ensure
              Adapter.adapter_map.delete('test')
            end
          end
        end

        def test_adapter_lookup_deprecation
          assert_deprecated do
            Adapter.lookup(:json_api)
          end
        end

        private

        def assert_deprecated
          assert_output(nil, /deprecated/) do
            yield
          end
        end
      end
    end
  end
end