1
+ require 'test_helper'
2
+
3
+ class ActiveModelSerializers ::TransformTest < ActiveSupport ::TestCase
4
+ def test_camel
5
+ obj = Object . new
6
+ scenarios = [
7
+ {
8
+ value : { :some_key => 'value' } ,
9
+ expected : { :SomeKey => 'value' }
10
+ } ,
11
+ {
12
+ value : { 'some_key' => 'value' } ,
13
+ expected : { 'SomeKey' => 'value' }
14
+ } ,
15
+ {
16
+ value : :some_value ,
17
+ expected : :SomeValue
18
+ } ,
19
+ {
20
+ value : obj ,
21
+ expected : obj
22
+ } ,
23
+ {
24
+ value : nil ,
25
+ expected : nil
26
+ }
27
+ ]
28
+ scenarios . each do |s |
29
+ result = ActiveModelSerializers ::Transform . camel ( s [ :value ] )
30
+ assert_equal s [ :expected ] , result
31
+ end
32
+ end
33
+
34
+ def test_camel_lower
35
+ obj = Object . new
36
+ scenarios = [
37
+ {
38
+ value : { :some_key => 'value' } ,
39
+ expected : { :someKey => 'value' }
40
+ } ,
41
+ {
42
+ value : { 'some_key' => 'value' } ,
43
+ expected : { 'someKey' => 'value' }
44
+ } ,
45
+ {
46
+ value : :some_value ,
47
+ expected : :someValue
48
+ } ,
49
+ {
50
+ value : obj ,
51
+ expected : obj
52
+ } ,
53
+ {
54
+ value : nil ,
55
+ expected : nil
56
+ }
57
+ ]
58
+ scenarios . each do |s |
59
+ result = ActiveModelSerializers ::Transform . camel_lower ( s [ :value ] )
60
+ assert_equal s [ :expected ] , result
61
+ end
62
+ end
63
+
64
+ def test_dash
65
+ obj = Object . new
66
+ scenarios = [
67
+ {
68
+ value : { :some_key => 'value' } ,
69
+ expected : { :"some-key" => 'value' }
70
+ } ,
71
+ {
72
+ value : { 'some_key' => 'value' } ,
73
+ expected : { 'some-key' => 'value' }
74
+ } ,
75
+ {
76
+ value : :some_value ,
77
+ expected : :"some-value"
78
+ } ,
79
+ {
80
+ value : obj ,
81
+ expected : obj
82
+ } ,
83
+ {
84
+ value : nil ,
85
+ expected : nil
86
+ }
87
+ ]
88
+ scenarios . each do |s |
89
+ result = ActiveModelSerializers ::Transform . dash ( s [ :value ] )
90
+ assert_equal s [ :expected ] , result
91
+ end
92
+ end
93
+
94
+ def test_underscore
95
+ obj = Object . new
96
+ scenarios = [
97
+ {
98
+ value : { :"some-key" => 'value' } ,
99
+ expected : { :some_key => 'value' }
100
+ } ,
101
+ {
102
+ value : { 'some-key' => 'value' } ,
103
+ expected : { 'some_key' => 'value' }
104
+ } ,
105
+ {
106
+ value : :"some-value" ,
107
+ expected : :some_value
108
+ } ,
109
+ {
110
+ value : obj ,
111
+ expected : obj
112
+ } ,
113
+ {
114
+ value : nil ,
115
+ expected : nil
116
+ }
117
+ ]
118
+ scenarios . each do |s |
119
+ result = ActiveModelSerializers ::Transform . underscore ( s [ :value ] )
120
+ assert_equal s [ :expected ] , result
121
+ end
122
+ end
123
+ end
0 commit comments