Skip to content

[v2] [8/X] Unit Test Overhaul - Part 2 #644

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 97 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
97 commits
Select commit Hold shift + click to select a range
37d0922
chore(deps): update dependency ts-jest to v29.3.4 (apollographql/apol…
svc-secops May 21, 2025
bb97b04
chore(deps): update dependency rollup to v4.41.0 (apollographql/apoll…
svc-secops May 23, 2025
3f77280
chore(deps): update dependency ts-jest to v29.3.4 (apollographql/apol…
svc-secops May 21, 2025
ff6ab41
chore(deps): update dependency rollup to v4.41.0 (apollographql/apoll…
svc-secops May 23, 2025
d8d178e
chore(deps): update dependency ts-jest to v29.3.4 (apollographql/apol…
svc-secops May 21, 2025
1cdc57b
chore(deps): update dependency rollup to v4.41.0 (apollographql/apoll…
svc-secops May 23, 2025
7466c18
chore(deps): update dependency ts-jest to v29.3.4 (apollographql/apol…
svc-secops May 21, 2025
2083ce3
chore(deps): update dependency rollup to v4.41.0 (apollographql/apoll…
svc-secops May 23, 2025
1483d1e
chore(deps): update dependency ts-jest to v29.3.4 (apollographql/apol…
svc-secops May 21, 2025
660ca33
chore(deps): update dependency rollup to v4.41.0 (apollographql/apoll…
svc-secops May 23, 2025
51bc440
chore(deps): update dependency ts-jest to v29.3.4 (apollographql/apol…
svc-secops May 21, 2025
3d25d42
chore(deps): update dependency rollup to v4.41.0 (apollographql/apoll…
svc-secops May 23, 2025
5b358df
chore(deps): update dependency ts-jest to v29.3.4 (apollographql/apol…
svc-secops May 21, 2025
8f3e4c8
chore(deps): update dependency rollup to v4.41.0 (apollographql/apoll…
svc-secops May 23, 2025
cc410ac
chore(deps): update dependency ts-jest to v29.3.4 (apollographql/apol…
svc-secops May 21, 2025
2b189ac
chore(deps): update dependency rollup to v4.41.0 (apollographql/apoll…
svc-secops May 23, 2025
04cea86
WIP: Network fetch returns data as chunks
AnthonyMDev Apr 8, 2025
8e896dd
WIP: Network fetch returns data as chunks
AnthonyMDev Apr 8, 2025
3e825ab
WIP: Network fetch returns data as chunks
AnthonyMDev Apr 8, 2025
45ba9e0
WIP: Network fetch returns data as chunks
AnthonyMDev Apr 8, 2025
dbf19fc
WIP: Network fetch returns data as chunks
AnthonyMDev Apr 8, 2025
1ec6816
WIP: Network fetch returns data as chunks
AnthonyMDev Apr 8, 2025
70a3ae7
chore(deps): update dependency ts-jest to v29.3.4 (apollographql/apol…
svc-secops May 21, 2025
b82b909
chore(deps): update dependency rollup to v4.41.0 (apollographql/apoll…
svc-secops May 23, 2025
a723f8d
chore(deps): update dependency ts-jest to v29.3.4 (apollographql/apol…
svc-secops May 21, 2025
026d9e3
chore(deps): update dependency rollup to v4.41.0 (apollographql/apoll…
svc-secops May 23, 2025
7f0af29
chore(deps): update dependency ts-jest to v29.3.4 (apollographql/apol…
svc-secops May 21, 2025
b03c08e
chore(deps): update dependency rollup to v4.41.0 (apollographql/apoll…
svc-secops May 23, 2025
f085bd5
chore(deps): update dependency ts-jest to v29.3.4 (apollographql/apol…
svc-secops May 21, 2025
d50d872
chore(deps): update dependency rollup to v4.41.0 (apollographql/apoll…
svc-secops May 23, 2025
26e7caf
chore(deps): update dependency ts-jest to v29.3.4 (apollographql/apol…
svc-secops May 21, 2025
4c604a8
chore(deps): update dependency rollup to v4.41.0 (apollographql/apoll…
svc-secops May 23, 2025
e168500
chore(deps): update dependency ts-jest to v29.3.4 (apollographql/apol…
svc-secops May 21, 2025
e1d1a25
chore(deps): update dependency rollup to v4.41.0 (apollographql/apoll…
svc-secops May 23, 2025
525c0bd
chore(deps): update dependency ts-jest to v29.3.4 (apollographql/apol…
svc-secops May 21, 2025
146905b
chore(deps): update dependency rollup to v4.41.0 (apollographql/apoll…
svc-secops May 23, 2025
6936210
chore(deps): update dependency ts-jest to v29.3.4 (apollographql/apol…
svc-secops May 21, 2025
7624665
chore(deps): update dependency rollup to v4.41.0 (apollographql/apoll…
svc-secops May 23, 2025
bc19f20
WIP: Network fetch returns data as chunks
AnthonyMDev Apr 8, 2025
092a150
WIP: Network fetch returns data as chunks
AnthonyMDev Apr 8, 2025
6956dd1
WIP: Network fetch returns data as chunks
AnthonyMDev Apr 8, 2025
3975ed0
WIP: Network fetch returns data as chunks
AnthonyMDev Apr 8, 2025
c43aa90
WIP: Network fetch returns data as chunks
AnthonyMDev Apr 8, 2025
b8349b4
WIP: Network fetch returns data as chunks
AnthonyMDev Apr 8, 2025
774f1d0
WIP: Network fetch returns data as chunks
AnthonyMDev Apr 8, 2025
c7f7520
WIP: Network fetch returns data as chunks
AnthonyMDev Apr 8, 2025
581e647
chore(deps): update dependency ts-jest to v29.3.4 (apollographql/apol…
svc-secops May 21, 2025
19c57c1
chore(deps): update dependency rollup to v4.41.0 (apollographql/apoll…
svc-secops May 23, 2025
4fedd43
chore(deps): update dependency ts-jest to v29.3.4 (apollographql/apol…
svc-secops May 21, 2025
ab7f6d9
chore(deps): update dependency rollup to v4.41.0 (apollographql/apoll…
svc-secops May 23, 2025
badc0ed
chore(deps): update dependency ts-jest to v29.3.4 (apollographql/apol…
svc-secops May 21, 2025
72b80af
chore(deps): update dependency rollup to v4.41.0 (apollographql/apoll…
svc-secops May 23, 2025
ab56e40
chore(deps): update dependency ts-jest to v29.3.4 (apollographql/apol…
svc-secops May 21, 2025
3d4912d
chore(deps): update dependency rollup to v4.41.0 (apollographql/apoll…
svc-secops May 23, 2025
8ff075d
chore(deps): update dependency ts-jest to v29.3.4 (apollographql/apol…
svc-secops May 21, 2025
904c5ee
chore(deps): update dependency rollup to v4.41.0 (apollographql/apoll…
svc-secops May 23, 2025
4235e6e
chore(deps): update dependency ts-jest to v29.3.4 (apollographql/apol…
svc-secops May 21, 2025
c99c63a
chore(deps): update dependency rollup to v4.41.0 (apollographql/apoll…
svc-secops May 23, 2025
9c7317b
chore(deps): update dependency ts-jest to v29.3.4 (apollographql/apol…
svc-secops May 21, 2025
f61f870
chore(deps): update dependency rollup to v4.41.0 (apollographql/apoll…
svc-secops May 23, 2025
e666140
chore(deps): update dependency ts-jest to v29.3.4 (apollographql/apol…
svc-secops May 21, 2025
219e11f
chore(deps): update dependency rollup to v4.41.0 (apollographql/apoll…
svc-secops May 23, 2025
5b4cd2a
WIP: Network fetch returns data as chunks
AnthonyMDev Apr 8, 2025
264de2c
WIP: Network fetch returns data as chunks
AnthonyMDev Apr 8, 2025
1c3429a
WIP: Network fetch returns data as chunks
AnthonyMDev Apr 8, 2025
44a58a4
WIP: Network fetch returns data as chunks
AnthonyMDev Apr 8, 2025
a65d731
WIP: Network fetch returns data as chunks
AnthonyMDev Apr 8, 2025
d2f6066
WIP: Network fetch returns data as chunks
AnthonyMDev Apr 8, 2025
d9d3e45
chore(deps): update dependency ts-jest to v29.3.4 (apollographql/apol…
svc-secops May 21, 2025
e0f9af4
chore(deps): update dependency rollup to v4.41.0 (apollographql/apoll…
svc-secops May 23, 2025
4922b20
chore(deps): update dependency ts-jest to v29.3.4 (apollographql/apol…
svc-secops May 21, 2025
cd2e357
chore(deps): update dependency rollup to v4.41.0 (apollographql/apoll…
svc-secops May 23, 2025
1eefe04
chore(deps): update dependency ts-jest to v29.3.4 (apollographql/apol…
svc-secops May 21, 2025
4816e92
chore(deps): update dependency rollup to v4.41.0 (apollographql/apoll…
svc-secops May 23, 2025
2ff12de
chore(deps): update dependency ts-jest to v29.3.4 (apollographql/apol…
svc-secops May 21, 2025
c348e7e
chore(deps): update dependency rollup to v4.41.0 (apollographql/apoll…
svc-secops May 23, 2025
f2168e2
chore(deps): update dependency ts-jest to v29.3.4 (apollographql/apol…
svc-secops May 21, 2025
2905e16
chore(deps): update dependency rollup to v4.41.0 (apollographql/apoll…
svc-secops May 23, 2025
678c0c8
chore(deps): update dependency ts-jest to v29.3.4 (apollographql/apol…
svc-secops May 21, 2025
13dd82d
chore(deps): update dependency rollup to v4.41.0 (apollographql/apoll…
svc-secops May 23, 2025
11285ad
chore(deps): update dependency ts-jest to v29.3.4 (apollographql/apol…
svc-secops May 21, 2025
d1a2622
chore(deps): update dependency rollup to v4.41.0 (apollographql/apoll…
svc-secops May 23, 2025
154e024
chore(deps): update dependency ts-jest to v29.3.4 (apollographql/apol…
svc-secops May 21, 2025
404f165
chore(deps): update dependency rollup to v4.41.0 (apollographql/apoll…
svc-secops May 23, 2025
6384d15
WIP: Network fetch returns data as chunks
AnthonyMDev Apr 8, 2025
9c94d83
WIP: Network fetch returns data as chunks
AnthonyMDev Apr 8, 2025
dedc8ba
WIP: Network fetch returns data as chunks
AnthonyMDev Apr 8, 2025
8b8334e
WIP: Network fetch returns data as chunks
AnthonyMDev Apr 8, 2025
cf7041d
WIP: Network fetch returns data as chunks
AnthonyMDev Apr 8, 2025
0f99b2f
WIP: Network fetch returns data as chunks
AnthonyMDev Apr 8, 2025
0dd76ff
WIP: Network fetch returns data as chunks
AnthonyMDev Apr 8, 2025
aa52e1e
WIP: Network fetch returns data as chunks
AnthonyMDev Apr 8, 2025
0449b98
WIP: Network fetch returns data as chunks
AnthonyMDev Apr 8, 2025
e6408fa
WIP: Network fetch returns data as chunks
AnthonyMDev Apr 8, 2025
f4463b8
WIP: Network fetch returns data as chunks
AnthonyMDev Apr 8, 2025
c6842a1
WIP: Network fetch returns data as chunks
AnthonyMDev Apr 8, 2025
86c94a0
Fixing more unit tests
AnthonyMDev May 16, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions Tests/ApolloInternalTestHelpers/MockOperation.swift
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import ApolloAPI
import Foundation

open class MockOperation<SelectionSet: RootSelectionSet>: GraphQLOperation, @unchecked Sendable {
public typealias Data = SelectionSet
Expand All @@ -23,6 +24,14 @@ open class MockQuery<SelectionSet: RootSelectionSet>: MockOperation<SelectionSet
public static func mock() -> MockQuery<MockSelectionSet> where SelectionSet == MockSelectionSet {
MockQuery<MockSelectionSet>()
}

public var defaultResponseData: Foundation.Data {
return """
{
"data": {}
}
""".data(using: .utf8)!
}
}

open class MockMutation<SelectionSet: RootSelectionSet>: MockOperation<SelectionSet>, GraphQLMutation, @unchecked Sendable {
Expand Down
23 changes: 20 additions & 3 deletions Tests/ApolloInternalTestHelpers/MockURLProtocol.swift
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,7 @@ public final class MockURLProtocol<RequestProvider: MockResponseProvider>: URLPr
override public func startLoading() {
self.asyncTask = Task {
guard
let url = self.request.url,
let handler = await RequestProvider.requestHandler(for: url)
let handler = await requestHandler(for: request.url)
else {
self.client?.urlProtocol(self, didFailWithError: MockURLError.requestNotHandled)
return
Expand Down Expand Up @@ -52,7 +51,25 @@ public final class MockURLProtocol<RequestProvider: MockResponseProvider>: URLPr
}
}
}


private func requestHandler(for url: URL?) async -> MockResponseProvider.MultiResponseHandler? {
guard let url = url else { return nil }

if let handler = await RequestProvider.requestHandler(for: url) {
return handler
}

var urlComponents = URLComponents(url: url, resolvingAgainstBaseURL: false)
urlComponents?.query = nil

if let urlWithoutQueryString = urlComponents?.string,
let urlWithoutQuery = URL(string: urlWithoutQueryString) {
return await RequestProvider.requestHandler(for: urlWithoutQuery)
}

return nil
}

override public func stopLoading() {
self.asyncTask?.cancel()
}
Expand Down
Loading
Loading