Skip to content

Commit c542332

Browse files
committed
Fix remaining tests
1 parent e9056bb commit c542332

9 files changed

+199
-122
lines changed

Tests/ApolloInternalTestHelpers/MockOperation.swift

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import ApolloAPI
2+
import Foundation
23

34
open class MockOperation<SelectionSet: RootSelectionSet>: GraphQLOperation, @unchecked Sendable {
45
public typealias Data = SelectionSet
@@ -23,6 +24,14 @@ open class MockQuery<SelectionSet: RootSelectionSet>: MockOperation<SelectionSet
2324
public static func mock() -> MockQuery<MockSelectionSet> where SelectionSet == MockSelectionSet {
2425
MockQuery<MockSelectionSet>()
2526
}
27+
28+
public var defaultResponseData: Foundation.Data {
29+
return """
30+
{
31+
"data": {}
32+
}
33+
""".data(using: .utf8)!
34+
}
2635
}
2736

2837
open class MockMutation<SelectionSet: RootSelectionSet>: MockOperation<SelectionSet>, GraphQLMutation, @unchecked Sendable {

Tests/ApolloInternalTestHelpers/MockURLProtocol.swift

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,7 @@ public final class MockURLProtocol<RequestProvider: MockResponseProvider>: URLPr
1919
override public func startLoading() {
2020
self.asyncTask = Task {
2121
guard
22-
let url = self.request.url,
23-
let handler = await RequestProvider.requestHandler(for: url)
22+
let handler = await requestHandler(for: request.url)
2423
else {
2524
self.client?.urlProtocol(self, didFailWithError: MockURLError.requestNotHandled)
2625
return
@@ -52,7 +51,25 @@ public final class MockURLProtocol<RequestProvider: MockResponseProvider>: URLPr
5251
}
5352
}
5453
}
55-
54+
55+
private func requestHandler(for url: URL?) async -> MockResponseProvider.MultiResponseHandler? {
56+
guard let url = url else { return nil }
57+
58+
if let handler = await RequestProvider.requestHandler(for: url) {
59+
return handler
60+
}
61+
62+
var urlComponents = URLComponents(url: url, resolvingAgainstBaseURL: false)
63+
urlComponents?.query = nil
64+
65+
if let urlWithoutQueryString = urlComponents?.string,
66+
let urlWithoutQuery = URL(string: urlWithoutQueryString) {
67+
return await RequestProvider.requestHandler(for: urlWithoutQuery)
68+
}
69+
70+
return nil
71+
}
72+
5673
override public func stopLoading() {
5774
self.asyncTask?.cancel()
5875
}

0 commit comments

Comments
 (0)