@@ -14,7 +14,7 @@ final class QueryEncoderTests: XCTestCase {
14
14
15
15
// THEN
16
16
let encoder = URLQueryEncoder ( )
17
- encoder. encode ( [ " id " : id ] )
17
+ encoder. encode ( id , forKey : " id " )
18
18
19
19
// THEN
20
20
XCTAssertEqual ( encoder. query, " id=5 " )
@@ -26,7 +26,7 @@ final class QueryEncoderTests: XCTestCase {
26
26
27
27
// WHEN
28
28
let encoder = URLQueryEncoder ( )
29
- encoder. encode ( [ " id " : ids ] )
29
+ encoder. encode ( ids , forKey : " id " )
30
30
31
31
// THEN
32
32
XCTAssertEqual ( encoder. query, " id=3&id=4&id=5 " )
@@ -38,24 +38,12 @@ final class QueryEncoderTests: XCTestCase {
38
38
39
39
// WHEN
40
40
let encoder = URLQueryEncoder ( )
41
- encoder. encode ( [ " id " : user ] )
41
+ encoder. encode ( user , forKey : " id " )
42
42
43
43
// THEN
44
44
XCTAssertEqual ( encoder. query, " role=admin&name=kean " )
45
45
}
46
-
47
- func testStyleFormExplodeTrueObjectPassedDirectly( ) throws {
48
- // GIVEN
49
- let user = User ( role: " admin " , name: " kean " )
50
46
51
- // WHEN
52
- let encoder = URLQueryEncoder ( )
53
- encoder. encode ( user)
54
-
55
- // THEN
56
- XCTAssertEqual ( encoder. query, " role=admin&name=kean " )
57
- }
58
-
59
47
// MARK: Style: Form, Explode: False
60
48
61
49
func testStyleFormExplodeFalsePrimitive( ) throws {
@@ -64,7 +52,7 @@ final class QueryEncoderTests: XCTestCase {
64
52
65
53
// THEN
66
54
let encoder = URLQueryEncoder ( )
67
- encoder. encode ( [ " id " : id ] )
55
+ encoder. encode ( id , forKey : " id " )
68
56
69
57
// THEN
70
58
XCTAssertEqual ( encoder. query, " id=5 " )
@@ -77,7 +65,7 @@ final class QueryEncoderTests: XCTestCase {
77
65
// WHEN
78
66
let encoder = URLQueryEncoder ( )
79
67
encoder. explode = false
80
- encoder. encode ( [ " id " : ids ] )
68
+ encoder. encode ( ids , forKey : " id " )
81
69
82
70
// THEN
83
71
XCTAssertEqual ( encoder. query, " id=3,4,5 " )
@@ -89,7 +77,7 @@ final class QueryEncoderTests: XCTestCase {
89
77
90
78
// WHEN
91
79
let encoder = URLQueryEncoder ( )
92
- encoder. encode ( [ " id " : ids ] , explode: false )
80
+ encoder. encode ( ids , forKey : " id " , explode: false )
93
81
94
82
// THEN
95
83
XCTAssertEqual ( encoder. query, " id=3,4,5 " )
@@ -101,7 +89,7 @@ final class QueryEncoderTests: XCTestCase {
101
89
102
90
// WHEN
103
91
let encoder = URLQueryEncoder ( )
104
- encoder. encode ( [ " id " : user ] , explode: false )
92
+ encoder. encode ( user , forKey : " id " , explode: false )
105
93
106
94
// THEN
107
95
XCTAssertEqual ( encoder. query, " id=role,admin,name,kean " )
@@ -120,7 +108,7 @@ final class QueryEncoderTests: XCTestCase {
120
108
let encoder = URLQueryEncoder ( )
121
109
encoder. explode = true
122
110
encoder. delimiter = " "
123
- encoder. encode ( [ " id " : ids ] )
111
+ encoder. encode ( ids , forKey : " id " )
124
112
125
113
// THEN
126
114
XCTAssertEqual ( encoder. query, " id=3&id=4&id=5 " )
@@ -134,7 +122,7 @@ final class QueryEncoderTests: XCTestCase {
134
122
let encoder = URLQueryEncoder ( )
135
123
encoder. explode = false
136
124
encoder. delimiter = " "
137
- encoder. encode ( [ " id " : ids ] )
125
+ encoder. encode ( ids , forKey : " id " )
138
126
139
127
// THEN
140
128
XCTAssertEqual ( encoder. query, " id=3 4 5 " )
@@ -147,7 +135,7 @@ final class QueryEncoderTests: XCTestCase {
147
135
148
136
// WHEN
149
137
let encoder = URLQueryEncoder ( )
150
- encoder. encode ( [ " id " : ids ] , explode: false , delimiter: " " )
138
+ encoder. encode ( ids , forKey : " id " , explode: false , delimiter: " " )
151
139
152
140
// THEN
153
141
XCTAssertEqual ( encoder. query, " id=3 4 5 " )
@@ -167,7 +155,7 @@ final class QueryEncoderTests: XCTestCase {
167
155
let encoder = URLQueryEncoder ( )
168
156
encoder. explode = true
169
157
encoder. delimiter = " | "
170
- encoder. encode ( [ " id " : ids ] )
158
+ encoder. encode ( ids , forKey : " id " )
171
159
172
160
// THEN
173
161
XCTAssertEqual ( encoder. query, " id=3&id=4&id=5 " )
@@ -181,7 +169,7 @@ final class QueryEncoderTests: XCTestCase {
181
169
let encoder = URLQueryEncoder ( )
182
170
encoder. explode = false
183
171
encoder. delimiter = " | "
184
- encoder. encode ( [ " id " : ids ] )
172
+ encoder. encode ( ids , forKey : " id " )
185
173
186
174
// THEN
187
175
XCTAssertEqual ( encoder. query, " id=3|4|5 " )
@@ -198,7 +186,7 @@ final class QueryEncoderTests: XCTestCase {
198
186
let encoder = URLQueryEncoder ( )
199
187
encoder. explode = true
200
188
encoder. isDeepObject = true
201
- encoder. encode ( [ " id " : user ] )
189
+ encoder. encode ( user , forKey : " id " )
202
190
203
191
// THEN
204
192
XCTAssertEqual ( encoder. query, " id[role]=admin&id[name]=kean " )
@@ -214,10 +202,10 @@ final class QueryEncoderTests: XCTestCase {
214
202
215
203
// WHEN
216
204
let encoder = URLQueryEncoder ( )
217
- encoder. encode ( [ " ids " : ids] , explode: false )
218
- encoder. encode ( [ " ids2 " : ids] , explode : true )
219
- encoder. encode ( [ " user " : user] , isDeepObject: true )
220
- encoder. encode ( [ " id " : 2 ] )
205
+ encoder. encode ( ids, forKey : " ids " , explode: false )
206
+ encoder. encode ( ids, forKey : " ids2 " )
207
+ encoder. encode ( user, forKey : " user " , isDeepObject: true )
208
+ encoder. encode ( 2 , forKey : " id " , explode : false )
221
209
222
210
// THEN
223
211
XCTAssertEqual ( encoder. query, " ids=3,4,5&ids2=3&ids2=4&ids2=5&user[role]=admin&user[name]=kean&id=2 " )
@@ -231,11 +219,23 @@ final class QueryEncoderTests: XCTestCase {
231
219
232
220
// THEN
233
221
let encoder = URLQueryEncoder ( )
234
- encoder. encode ( [ " id " : id ] )
222
+ encoder. encode ( id , forKey : " id " )
235
223
236
224
// THEN
237
225
XCTAssertTrue ( encoder. queryItems. isEmpty)
238
226
}
227
+
228
+ // MARK: Encoding Objects (Body)
229
+
230
+ func testEncodingBody( ) {
231
+ // GIVEN
232
+ let user = User ( role: " admin " , name: " kean " )
233
+
234
+ // THEN
235
+ let query = URLQueryEncoder ( encoding: user) . percentEncodedQuery
236
+
237
+ XCTAssertEqual ( query, " role=admin&name=kean " )
238
+ }
239
239
}
240
240
241
241
private struct User : Encodable {
0 commit comments