|
|
@@ -25,6 +25,7 @@ import Foundation
|
|
|
import XCTest
|
|
|
|
|
|
class ResponseSerializationTestCase: BaseTestCase {
|
|
|
+ let error = NSError(domain: Error.Domain, code: -10000, userInfo: nil)
|
|
|
|
|
|
// MARK: - Data Response Serializer Tests
|
|
|
|
|
|
@@ -62,6 +63,26 @@ class ResponseSerializationTestCase: BaseTestCase {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ func testThatDataResponseSerializerFailsWhenErrorIsNotNil() {
|
|
|
+ // Given
|
|
|
+ let serializer = Request.dataResponseSerializer()
|
|
|
+
|
|
|
+ // When
|
|
|
+ let result = serializer.serializeResponse(nil, nil, nil, error)
|
|
|
+
|
|
|
+ // Then
|
|
|
+ XCTAssertTrue(result.isFailure, "result is failure should be true")
|
|
|
+ XCTAssertNil(result.value, "result value should be nil")
|
|
|
+ XCTAssertNotNil(result.error, "result error should not be nil")
|
|
|
+
|
|
|
+ if let error = result.error {
|
|
|
+ XCTAssertEqual(error.domain, Error.Domain, "error domain should match expected value")
|
|
|
+ XCTAssertEqual(error.code, self.error.code, "error code should match expected value")
|
|
|
+ } else {
|
|
|
+ XCTFail("error should not be nil")
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
// MARK: - String Response Serializer Tests
|
|
|
|
|
|
func testThatStringResponseSerializerFailsWhenDataIsNil() {
|
|
|
@@ -190,6 +211,26 @@ class ResponseSerializationTestCase: BaseTestCase {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ func testThatStringResponseSerializerFailsWhenErrorIsNotNil() {
|
|
|
+ // Given
|
|
|
+ let serializer = Request.stringResponseSerializer()
|
|
|
+
|
|
|
+ // When
|
|
|
+ let result = serializer.serializeResponse(nil, nil, nil, error)
|
|
|
+
|
|
|
+ // Then
|
|
|
+ XCTAssertTrue(result.isFailure, "result is failure should be true")
|
|
|
+ XCTAssertNil(result.value, "result value should be nil")
|
|
|
+ XCTAssertNotNil(result.error, "result error should not be nil")
|
|
|
+
|
|
|
+ if let error = result.error {
|
|
|
+ XCTAssertEqual(error.domain, Error.Domain, "error domain should match expected value")
|
|
|
+ XCTAssertEqual(error.code, self.error.code, "error code should match expected value")
|
|
|
+ } else {
|
|
|
+ XCTFail("error should not be nil")
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
// MARK: - JSON Response Serializer Tests
|
|
|
|
|
|
func testThatJSONResponseSerializerFailsWhenDataIsNil() {
|
|
|
@@ -267,6 +308,26 @@ class ResponseSerializationTestCase: BaseTestCase {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ func testThatJSONResponseSerializerFailsWhenErrorIsNotNil() {
|
|
|
+ // Given
|
|
|
+ let serializer = Request.JSONResponseSerializer()
|
|
|
+
|
|
|
+ // When
|
|
|
+ let result = serializer.serializeResponse(nil, nil, nil, error)
|
|
|
+
|
|
|
+ // Then
|
|
|
+ XCTAssertTrue(result.isFailure, "result is failure should be true")
|
|
|
+ XCTAssertNil(result.value, "result value should be nil")
|
|
|
+ XCTAssertNotNil(result.error, "result error should not be nil")
|
|
|
+
|
|
|
+ if let error = result.error {
|
|
|
+ XCTAssertEqual(error.domain, Error.Domain, "error domain should match expected value")
|
|
|
+ XCTAssertEqual(error.code, self.error.code, "error code should match expected value")
|
|
|
+ } else {
|
|
|
+ XCTFail("error should not be nil")
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
// MARK: - Property List Response Serializer Tests
|
|
|
|
|
|
func testThatPropertyListResponseSerializerFailsWhenDataIsNil() {
|
|
|
@@ -343,4 +404,24 @@ class ResponseSerializationTestCase: BaseTestCase {
|
|
|
XCTFail("error should not be nil")
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ func testThatPropertyListResponseSerializerFailsWhenErrorIsNotNil() {
|
|
|
+ // Given
|
|
|
+ let serializer = Request.propertyListResponseSerializer()
|
|
|
+
|
|
|
+ // When
|
|
|
+ let result = serializer.serializeResponse(nil, nil, nil, error)
|
|
|
+
|
|
|
+ // Then
|
|
|
+ XCTAssertTrue(result.isFailure, "result is failure should be true")
|
|
|
+ XCTAssertNil(result.value, "result value should be nil")
|
|
|
+ XCTAssertNotNil(result.error, "result error should not be nil")
|
|
|
+
|
|
|
+ if let error = result.error {
|
|
|
+ XCTAssertEqual(error.domain, Error.Domain, "error domain should match expected value")
|
|
|
+ XCTAssertEqual(error.code, self.error.code, "error code should match expected value")
|
|
|
+ } else {
|
|
|
+ XCTFail("error should not be nil")
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|