@@ -63,52 +63,77 @@ class HCaptchaVerifyParams__Tests: XCTestCase {
6363 XCTAssertTrue ( params. resetOnError)
6464 }
6565
66- func test__init__withResetOnError ( ) {
66+ func test__init__withRqdata ( ) {
6767 // Given
68- let phonePrefix = " 44 "
69- let resetOnError = false
68+ let rqdata = " test-rqdata-string "
7069
7170 // When
72- let params = HCaptchaVerifyParams ( phonePrefix : phonePrefix , resetOnError : resetOnError )
71+ let params = HCaptchaVerifyParams ( rqdata : rqdata )
7372
7473 // Then
75- XCTAssertEqual ( params. phonePrefix , phonePrefix)
74+ XCTAssertNil ( params. phonePrefix)
7675 XCTAssertNil ( params. phoneNumber)
77- XCTAssertFalse ( params. resetOnError)
76+ XCTAssertEqual ( params. rqdata, rqdata)
77+ XCTAssertTrue ( params. resetOnError)
7878 }
7979
8080 func test__init__withAllValues( ) {
8181 // Given
8282 let phonePrefix = " 44 "
8383 let phoneNumber = " 1234567890 "
84+ let rqdata = " test-rqdata-string "
8485 let resetOnError = false
8586
8687 // When
87- let params = HCaptchaVerifyParams ( phonePrefix: phonePrefix, phoneNumber: phoneNumber, resetOnError: resetOnError)
88+ let params = HCaptchaVerifyParams ( phonePrefix: phonePrefix,
89+ phoneNumber: phoneNumber,
90+ rqdata: rqdata,
91+ resetOnError: resetOnError)
8892
8993 // Then
9094 XCTAssertEqual ( params. phonePrefix, phonePrefix)
9195 XCTAssertEqual ( params. phoneNumber, phoneNumber)
96+ XCTAssertEqual ( params. rqdata, rqdata)
9297 XCTAssertFalse ( params. resetOnError)
9398 }
9499
100+ func test__init__withResetOnError( ) {
101+ // Given
102+ let phonePrefix = " 44 "
103+ let resetOnError = false
104+
105+ // When
106+ let params = HCaptchaVerifyParams ( phonePrefix: phonePrefix, resetOnError: resetOnError)
107+
108+ // Then
109+ XCTAssertEqual ( params. phonePrefix, phonePrefix)
110+ XCTAssertNil ( params. phoneNumber)
111+ XCTAssertFalse ( params. resetOnError)
112+ }
113+
114+
95115 // MARK: - toDictionary Tests
96116
97117 func test__toDictionary__withAllValues( ) {
98118 // Given
99119 let phonePrefix = " 44 "
100120 let phoneNumber = " 1234567890 "
121+ let rqdata = " test-rqdata "
101122 let resetOnError = false
102- let params = HCaptchaVerifyParams ( phonePrefix: phonePrefix, phoneNumber: phoneNumber, resetOnError: resetOnError)
123+ let params = HCaptchaVerifyParams ( phonePrefix: phonePrefix,
124+ phoneNumber: phoneNumber,
125+ rqdata: rqdata,
126+ resetOnError: resetOnError)
103127
104128 // When
105129 let dict = params. toDictionary ( )
106130
107131 // Then
108132 XCTAssertEqual ( dict [ " phonePrefix " ] as? String , phonePrefix)
109133 XCTAssertEqual ( dict [ " phoneNumber " ] as? String , phoneNumber)
134+ XCTAssertEqual ( dict [ " rqdata " ] as? String , rqdata)
110135 XCTAssertEqual ( dict [ " resetOnError " ] as? Bool , resetOnError)
111- XCTAssertEqual ( dict. count, 3 )
136+ XCTAssertEqual ( dict. count, 4 )
112137 }
113138
114139 func test__toDictionary__withPartialValues( ) {
@@ -156,14 +181,35 @@ class HCaptchaVerifyParams__Tests: XCTestCase {
156181 XCTAssertEqual ( dict. count, 2 )
157182 }
158183
184+ func test__toDictionary__withOnlyRqdata( ) {
185+ // Given
186+ let rqdata = " test-rqdata-string "
187+ let resetOnError = false
188+ let params = HCaptchaVerifyParams ( rqdata: rqdata, resetOnError: resetOnError)
189+
190+ // When
191+ let dict = params. toDictionary ( )
192+
193+ // Then
194+ XCTAssertNil ( dict [ " phonePrefix " ] )
195+ XCTAssertNil ( dict [ " phoneNumber " ] )
196+ XCTAssertEqual ( dict [ " rqdata " ] as? String , rqdata)
197+ XCTAssertEqual ( dict [ " resetOnError " ] as? Bool , resetOnError)
198+ XCTAssertEqual ( dict. count, 2 )
199+ }
200+
159201 // MARK: - toJSONString Tests
160202
161203 func test__toJSONString__validJSON( ) {
162204 // Given
163205 let phonePrefix = " 44 "
164206 let phoneNumber = " 1234567890 "
207+ let rqdata = " test-rqdata "
165208 let resetOnError = false
166- let params = HCaptchaVerifyParams ( phonePrefix: phonePrefix, phoneNumber: phoneNumber, resetOnError: resetOnError)
209+ let params = HCaptchaVerifyParams ( phonePrefix: phonePrefix,
210+ phoneNumber: phoneNumber,
211+ rqdata: rqdata,
212+ resetOnError: resetOnError)
167213
168214 // When
169215 let jsonString = params. toJSONString ( )
@@ -172,10 +218,17 @@ class HCaptchaVerifyParams__Tests: XCTestCase {
172218 XCTAssertNotNil ( jsonString)
173219
174220 // Verify JSON structure
175- let data = jsonString!. data ( using: . utf8) !
176- let json = try ! JSONSerialization . jsonObject ( with: data) as! [ String : Any ]
221+ guard let data = jsonString? . data ( using: . utf8) else {
222+ XCTFail ( " Failed to convert to data " )
223+ return
224+ }
225+ guard let json = try ? JSONSerialization . jsonObject ( with: data) as? [ String : Any ] else {
226+ XCTFail ( " Failed to parse JSON " )
227+ return
228+ }
177229 XCTAssertEqual ( json [ " phonePrefix " ] as? String , phonePrefix)
178230 XCTAssertEqual ( json [ " phoneNumber " ] as? String , phoneNumber)
231+ XCTAssertEqual ( json [ " rqdata " ] as? String , rqdata)
179232 XCTAssertEqual ( json [ " resetOnError " ] as? Bool , resetOnError)
180233 }
181234
@@ -190,8 +243,14 @@ class HCaptchaVerifyParams__Tests: XCTestCase {
190243 XCTAssertNotNil ( jsonString)
191244
192245 // Verify JSON structure
193- let data = jsonString!. data ( using: . utf8) !
194- let json = try ! JSONSerialization . jsonObject ( with: data) as! [ String : Any ]
246+ guard let data = jsonString? . data ( using: . utf8) else {
247+ XCTFail ( " Failed to convert to data " )
248+ return
249+ }
250+ guard let json = try ? JSONSerialization . jsonObject ( with: data) as? [ String : Any ] else {
251+ XCTFail ( " Failed to parse JSON " )
252+ return
253+ }
195254 XCTAssertNil ( json [ " phonePrefix " ] )
196255 XCTAssertNil ( json [ " phoneNumber " ] )
197256 XCTAssertEqual ( json [ " resetOnError " ] as? Bool , true )
@@ -209,8 +268,14 @@ class HCaptchaVerifyParams__Tests: XCTestCase {
209268 XCTAssertNotNil ( jsonString)
210269
211270 // Verify JSON structure
212- let data = jsonString!. data ( using: . utf8) !
213- let json = try ! JSONSerialization . jsonObject ( with: data) as! [ String : Any ]
271+ guard let data = jsonString? . data ( using: . utf8) else {
272+ XCTFail ( " Failed to convert to data " )
273+ return
274+ }
275+ guard let json = try ? JSONSerialization . jsonObject ( with: data) as? [ String : Any ] else {
276+ XCTFail ( " Failed to parse JSON " )
277+ return
278+ }
214279 XCTAssertEqual ( json [ " phonePrefix " ] as? String , phonePrefix)
215280 XCTAssertNil ( json [ " phoneNumber " ] )
216281 XCTAssertEqual ( json [ " resetOnError " ] as? Bool , true )
@@ -256,8 +321,14 @@ class HCaptchaVerifyParams__Tests: XCTestCase {
256321 XCTAssertNotNil ( jsonString)
257322
258323 // Verify JSON structure
259- let data = jsonString!. data ( using: . utf8) !
260- let json = try ! JSONSerialization . jsonObject ( with: data) as! [ String : Any ]
324+ guard let data = jsonString? . data ( using: . utf8) else {
325+ XCTFail ( " Failed to convert to data " )
326+ return
327+ }
328+ guard let json = try ? JSONSerialization . jsonObject ( with: data) as? [ String : Any ] else {
329+ XCTFail ( " Failed to parse JSON " )
330+ return
331+ }
261332 XCTAssertEqual ( json [ " phonePrefix " ] as? String , " " )
262333 XCTAssertEqual ( json [ " phoneNumber " ] as? String , " " )
263334 XCTAssertEqual ( json [ " resetOnError " ] as? Bool , true )
@@ -290,8 +361,14 @@ class HCaptchaVerifyParams__Tests: XCTestCase {
290361 XCTAssertNotNil ( jsonString)
291362
292363 // Verify JSON structure
293- let data = jsonString!. data ( using: . utf8) !
294- let json = try ! JSONSerialization . jsonObject ( with: data) as! [ String : Any ]
364+ guard let data = jsonString? . data ( using: . utf8) else {
365+ XCTFail ( " Failed to convert to data " )
366+ return
367+ }
368+ guard let json = try ? JSONSerialization . jsonObject ( with: data) as? [ String : Any ] else {
369+ XCTFail ( " Failed to parse JSON " )
370+ return
371+ }
295372 XCTAssertEqual ( json [ " phonePrefix " ] as? String , phonePrefix)
296373 XCTAssertEqual ( json [ " phoneNumber " ] as? String , phoneNumber)
297374 XCTAssertEqual ( json [ " resetOnError " ] as? Bool , true )
@@ -334,4 +411,4 @@ class HCaptchaVerifyParams__Tests: XCTestCase {
334411 // Then
335412 XCTAssertNil ( weakParams, " HCaptchaVerifyParams should not create retain cycles " )
336413 }
337- }
414+ }
0 commit comments