Skip to content

Commit a958542

Browse files
committed
Cover more with tests
1 parent 01e39c6 commit a958542

File tree

1 file changed

+123
-0
lines changed

1 file changed

+123
-0
lines changed
Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
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

Comments
 (0)