@@ -8,51 +8,53 @@ import XCTest
88
99class URLRoutingClientTests : XCTestCase {
1010 #if os(macOS) || os(iOS) || os(tvOS) || os(watchOS)
11- @available ( iOS 13 , macOS 10 . 15 , tvOS 13 , watchOS 6 , * )
12- func testJSONDecoder_noDecoder( ) async throws {
13- struct Response : Equatable , Decodable {
14- let decodableValue : String
11+ @available ( iOS 13 , macOS 10 . 15 , tvOS 13 , watchOS 6 , * )
12+ func testJSONDecoder_noDecoder( ) async throws {
13+ struct Response : Equatable , Decodable {
14+ let decodableValue : String
15+ }
16+ enum AppRoute {
17+ case test
18+ }
19+ let sut = URLRoutingClient < AppRoute > ( request: { _ in
20+ ( " { \" decodableValue \" : \" result \" } " . data ( using: . utf8) !, URLResponse ( ) )
21+ } )
22+ let response = try await sut. request ( . test, as: Response . self)
23+ XCTAssertEqual ( response. value, . init( decodableValue: " result " ) )
1524 }
16- enum AppRoute {
17- case test
25+ @available ( iOS 13 , macOS 10 . 15 , tvOS 13 , watchOS 6 , * )
26+ func testJSONDecoder_customDecoder( ) async throws {
27+ struct Response : Equatable , Decodable {
28+ let decodableValue : String
29+ }
30+ enum AppRoute {
31+ case test
32+ }
33+ let customDecoder = JSONDecoder ( )
34+ customDecoder. keyDecodingStrategy = . convertFromSnakeCase
35+ let sut = URLRoutingClient < AppRoute > (
36+ request: { _ in
37+ ( " { \" decodable_value \" : \" result \" } " . data ( using: . utf8) !, URLResponse ( ) )
38+ } , decoder: customDecoder)
39+ let response = try await sut. request ( . test, as: Response . self)
40+ XCTAssertEqual ( response. value, . init( decodableValue: " result " ) )
1841 }
19- let sut = URLRoutingClient < AppRoute > ( request: { _ in
20- ( " { \" decodableValue \" : \" result \" } " . data ( using: . utf8) !, URLResponse ( ) )
21- } )
22- let response = try await sut. request ( . test, as: Response . self)
23- XCTAssertEqual ( response. value, . init( decodableValue: " result " ) )
24- }
25- @available ( iOS 13 , macOS 10 . 15 , tvOS 13 , watchOS 6 , * )
26- func testJSONDecoder_customDecoder( ) async throws {
27- struct Response : Equatable , Decodable {
28- let decodableValue : String
42+ @available ( iOS 13 , macOS 10 . 15 , tvOS 13 , watchOS 6 , * )
43+ func testJSONDecoder_customDecoderForRequest( ) async throws {
44+ struct Response : Equatable , Decodable {
45+ let decodableValue : String
46+ }
47+ enum AppRoute {
48+ case test
49+ }
50+ let customDecoder = JSONDecoder ( )
51+ customDecoder. keyDecodingStrategy = . convertFromSnakeCase
52+ let sut = URLRoutingClient < AppRoute > (
53+ request: { _ in
54+ ( " { \" decodableValue \" : \" result \" } " . data ( using: . utf8) !, URLResponse ( ) )
55+ } , decoder: customDecoder)
56+ let response = try await sut. request ( . test, as: Response . self, decoder: . init( ) )
57+ XCTAssertEqual ( response. value, . init( decodableValue: " result " ) )
2958 }
30- enum AppRoute {
31- case test
32- }
33- let customDecoder = JSONDecoder ( )
34- customDecoder. keyDecodingStrategy = . convertFromSnakeCase
35- let sut = URLRoutingClient < AppRoute > ( request: { _ in
36- ( " { \" decodable_value \" : \" result \" } " . data ( using: . utf8) !, URLResponse ( ) )
37- } , decoder: customDecoder)
38- let response = try await sut. request ( . test, as: Response . self)
39- XCTAssertEqual ( response. value, . init( decodableValue: " result " ) )
40- }
41- @available ( iOS 13 , macOS 10 . 15 , tvOS 13 , watchOS 6 , * )
42- func testJSONDecoder_customDecoderForRequest( ) async throws {
43- struct Response : Equatable , Decodable {
44- let decodableValue : String
45- }
46- enum AppRoute {
47- case test
48- }
49- let customDecoder = JSONDecoder ( )
50- customDecoder. keyDecodingStrategy = . convertFromSnakeCase
51- let sut = URLRoutingClient < AppRoute > ( request: { _ in
52- ( " { \" decodableValue \" : \" result \" } " . data ( using: . utf8) !, URLResponse ( ) )
53- } , decoder: customDecoder)
54- let response = try await sut. request ( . test, as: Response . self, decoder: . init( ) )
55- XCTAssertEqual ( response. value, . init( decodableValue: " result " ) )
56- }
5759 #endif
5860}
0 commit comments