@@ -166,6 +166,40 @@ public final actor NetworkServiceMock: NetworkService {
166166 return . failure( . serverError( response: nil , data: nil ) )
167167 }
168168 }
169+
170+ public func schedule< T: Encodable > ( result: Result < ( T , HTTPURLResponse ) , NetworkError > ) {
171+ let scheduled : Result < ( Data , HTTPURLResponse ) , NetworkError >
172+ switch result {
173+ case . failure( let error) :
174+ scheduled = . failure( error)
175+ case . success( ( let object, let httpUrlResponse) ) :
176+ guard let data = try ? encoder. encode ( object) else {
177+ fatalError ( " Not able to encode object " )
178+ }
179+ scheduled = . success( ( data, httpUrlResponse) )
180+ }
181+ responses. append ( scheduled)
182+ }
183+
184+ public func schedule( success: Void ) {
185+ schedule ( result: . success( ( " " , HTTPURLResponse ( ) ) ) )
186+ }
187+
188+ public func schedule( success: ( Void , HTTPURLResponse ) ) {
189+ schedule ( result: . success( ( " " , success. 1 ) ) )
190+ }
191+
192+ public func schedule< T: Encodable > ( success: T ) {
193+ schedule ( result: . success( ( success, HTTPURLResponse ( ) ) ) )
194+ }
195+
196+ public func schedule< T: Encodable > ( success: ( T , HTTPURLResponse ) ) {
197+ schedule ( result: . success( success) )
198+ }
199+
200+ public func schedule( failure: NetworkError ) {
201+ responses. append ( . failure( failure) )
202+ }
169203}
170204
171205fileprivate extension Result {
0 commit comments