@@ -166,6 +166,40 @@ public final actor NetworkServiceMock: NetworkService {
166
166
return . failure( . serverError( response: nil , data: nil ) )
167
167
}
168
168
}
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
+ }
169
203
}
170
204
171
205
fileprivate extension Result {
0 commit comments