@@ -20,6 +20,17 @@ final class MockerTests: XCTestCase {
20
20
}
21
21
}
22
22
23
+ override func setUp( ) {
24
+ super. setUp ( )
25
+ Mocker . mode = . optout
26
+ }
27
+
28
+ override func tearDown( ) {
29
+ Mocker . removeAll ( )
30
+ Mocker . mode = . optout
31
+ super. tearDown ( )
32
+ }
33
+
23
34
/// It should returned the register mocked image data as response.
24
35
func testImageURLDataRequest( ) {
25
36
let expectation = self . expectation ( description: " Data request should succeed " )
@@ -77,7 +88,10 @@ final class MockerTests: XCTestCase {
77
88
78
89
URLSession . shared. dataTask ( with: originalURL) { ( data, _, error) in
79
90
XCTAssert ( error == nil )
80
- let image : UIImage = UIImage ( data: data!) !
91
+ guard let data = data, let image: UIImage = UIImage ( data: data) else {
92
+ XCTFail ( " Invalid data " )
93
+ return
94
+ }
81
95
let sampleImage : UIImage = UIImage ( contentsOfFile: MockedData . botAvatarImageFileUrl. path) !
82
96
83
97
XCTAssert ( image. size == sampleImage. size, " Image should be returned mocked " )
@@ -101,7 +115,10 @@ final class MockerTests: XCTestCase {
101
115
102
116
URLSession . shared. dataTask ( with: customURL) { ( data, _, error) in
103
117
XCTAssert ( error == nil )
104
- let image : UIImage = UIImage ( data: data!) !
118
+ guard let data = data, let image: UIImage = UIImage ( data: data) else {
119
+ XCTFail ( " Invalid data " )
120
+ return
121
+ }
105
122
let sampleImage : UIImage = UIImage ( contentsOfFile: MockedData . botAvatarImageFileUrl. path) !
106
123
107
124
XCTAssert ( image. size == sampleImage. size, " Image should be returned mocked " )
@@ -188,7 +205,10 @@ final class MockerTests: XCTestCase {
188
205
189
206
urlSession. dataTask ( with: originalURL!) { ( data, _, error) in
190
207
XCTAssert ( error == nil )
191
- let image : UIImage = UIImage ( data: data!) !
208
+ guard let data = data, let image: UIImage = UIImage ( data: data) else {
209
+ XCTFail ( " Invalid data " )
210
+ return
211
+ }
192
212
let sampleImage : UIImage = UIImage ( contentsOfFile: MockedData . botAvatarImageFileUrl. path) !
193
213
194
214
XCTAssert ( image. size == sampleImage. size, " Image should be returned mocked " )
@@ -389,22 +409,24 @@ final class MockerTests: XCTestCase {
389
409
let expectation = self . expectation ( description: " Data request should succeed " )
390
410
let originalURL = URL ( string: " https://www.wetransfer.com/example.json " ) !
391
411
392
- enum TestExampleError : Error {
412
+ enum TestExampleError : Error , LocalizedError {
393
413
case example
414
+
415
+ var errorDescription : String { " example " }
394
416
}
395
417
396
418
Mock ( url: originalURL, dataType: . json, statusCode: 500 , data: [ . get: Data ( ) ] , requestError: TestExampleError . example) . register ( )
397
419
398
- URLSession . shared. dataTask ( with: originalURL) { ( data, urlresponse, err ) in
420
+ URLSession . shared. dataTask ( with: originalURL) { ( data, urlresponse, error ) in
399
421
400
422
XCTAssertNil ( data)
401
423
XCTAssertNil ( urlresponse)
402
- XCTAssertNotNil ( err )
403
- if let err = err {
424
+ XCTAssertNotNil ( error )
425
+ if let error = error {
404
426
// there's not a particularly elegant way to verify an instance
405
427
// of an error, but this is a convenient workaround for testing
406
428
// purposes
407
- XCTAssertEqual ( " example " , String ( describing: err ) )
429
+ XCTAssertTrue ( String ( describing: error ) . contains ( " TestExampleError " ) )
408
430
}
409
431
410
432
expectation. fulfill ( )
0 commit comments