Skip to content

Commit 9886046

Browse files
committed
Remove ELF-based JoinedQueryBuilder.all
1 parent dcf0029 commit 9886046

File tree

3 files changed

+29
-37
lines changed

3 files changed

+29
-37
lines changed

Sources/App/Core/Query+Support/JoinedQueryBuilder.swift

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -134,11 +134,6 @@ struct JoinedQueryBuilder<J: ModelInitializable> {
134134
.map(J.init(model:))
135135
}
136136

137-
func all() -> EventLoopFuture<[J]> {
138-
queryBuilder.all()
139-
.mapEach(J.init(model:))
140-
}
141-
142137
func first() async throws -> J? {
143138
try await queryBuilder.first()
144139
.map(J.init(model:))

Tests/AppTests/Joined3Tests.swift

Lines changed: 22 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -19,84 +19,81 @@ import XCTest
1919

2020
class Joined3Tests: AppTestCase {
2121

22-
func test_query_no_version() throws {
22+
func test_query_no_version() async throws {
2323
// setup
2424
let p = try savePackage(on: app.db, "1")
25-
try Repository(package: p).save(on: app.db).wait()
25+
try await Repository(package: p).save(on: app.db)
2626

2727
// MUT
28-
let res = try Joined3<Package, Repository, Version>.query(on: app.db)
29-
.all()
30-
.wait()
28+
let res = try await Joined3<Package, Repository, Version>.query(on: app.db).all()
3129

3230
// validate
3331
XCTAssertEqual(res.map(\.model.id), [])
3432
}
3533

36-
func test_query_multiple_versions() throws {
34+
func test_query_multiple_versions() async throws {
3735
// Ensure multiple versions don't multiply the package selection
3836
// setup
3937
let p = try savePackage(on: app.db, "1")
40-
try Repository(package: p).save(on: app.db).wait()
41-
try Version(package: p, latest: .defaultBranch).save(on: app.db).wait()
42-
try Version(package: p, latest: .release).save(on: app.db).wait()
38+
try await Repository(package: p).save(on: app.db)
39+
try await Version(package: p, latest: .defaultBranch).save(on: app.db)
40+
try await Version(package: p, latest: .release).save(on: app.db)
4341

4442
// MUT
45-
let res = try Joined3<Package, Repository, Version>
43+
let res = try await Joined3<Package, Repository, Version>
4644
.query(on: app.db, version: .defaultBranch)
4745
.all()
48-
.wait()
4946

5047
// validate
5148
XCTAssertEqual(res.map(\.model.id), [p.id])
5249
}
5350

5451

55-
func test_query_relationship_properties() throws {
52+
func test_query_relationship_properties() async throws {
5653
// Ensure relationship properties are populated by query
5754
// setup
5855
let p = try savePackage(on: app.db, "1")
59-
try Repository(package: p, owner: "owner").save(on: app.db).wait()
60-
try Version(package: p,
56+
try await Repository(package: p, owner: "owner").save(on: app.db)
57+
try await Version(package: p,
6158
latest: .defaultBranch,
62-
packageName: "package name").save(on: app.db).wait()
59+
packageName: "package name").save(on: app.db)
6360

6461
// MUT
65-
let res = try Joined3<Package, Repository, Version>
62+
let res = try await Joined3<Package, Repository, Version>
6663
.query(on: app.db, version: .defaultBranch)
67-
.all().wait()
64+
.all()
6865

6966
// validate
7067
XCTAssertEqual(res.map { $0.repository.owner }, ["owner"])
7168
XCTAssertEqual(res.map { $0.version.packageName }, ["package name"])
7269
}
7370

74-
func test_query_missing_relations() throws {
71+
func test_query_missing_relations() async throws {
7572
// Neither should be possible in practice, this is just ensuring we cannot
7673
// force unwrap the `repository` or `version` properties in the pathological
7774
// event, because there are no results to access the properties on.
7875
do { // no repository
7976
let p = try savePackage(on: app.db, "1")
80-
try Version(package: p,
77+
try await Version(package: p,
8178
latest: .defaultBranch,
82-
packageName: "package name").save(on: app.db).wait()
79+
packageName: "package name").save(on: app.db)
8380

8481
// MUT
85-
let res = try Joined3<Package, Repository, Version>
82+
let res = try await Joined3<Package, Repository, Version>
8683
.query(on: app.db, version: .defaultBranch)
87-
.all().wait()
84+
.all()
8885

8986
// validate - result is empty, `res[0].repository` cannot be called
9087
XCTAssertTrue(res.isEmpty)
9188
}
9289
do { // no version
9390
let p = try savePackage(on: app.db, "2")
94-
try Repository(package: p, owner: "owner").save(on: app.db).wait()
91+
try await Repository(package: p, owner: "owner").save(on: app.db)
9592

9693
// MUT
97-
let res = try Joined3<Package, Repository, Version>
94+
let res = try await Joined3<Package, Repository, Version>
9895
.query(on: app.db, version: .defaultBranch)
99-
.all().wait()
96+
.all()
10097

10198
// validate - result is empty, `res[0].repository` cannot be called
10299
XCTAssertTrue(res.isEmpty)

Tests/AppTests/JoinedQueryBuilderTests.swift

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import XCTest
2424
/// and essentially compiler checked.
2525
class JoinedQueryBuilderTests: AppTestCase {
2626

27-
func test_sort() throws {
27+
func test_sort() async throws {
2828
// setup
2929
try (0..<3).shuffled().forEach { idx in
3030
try Package(url: "\(idx)".url).save(on: app.db).wait()
@@ -38,29 +38,29 @@ class JoinedQueryBuilderTests: AppTestCase {
3838

3939
do { // test sort(_ sort: DatabaseQuery.Sort)
4040
// MUT
41-
let res = try query()
41+
let res = try await query()
4242
.sort(DatabaseQuery.Sort.sort(.sql(unsafeRaw: "url"), .descending))
43-
.all().wait()
43+
.all()
4444

4545
// validate
4646
XCTAssertEqual(res.map(\.url), ["2", "1", "0"])
4747
}
4848

4949
do { // test sort<Field>(_ field: KeyPath<...>, _ direction:)
5050
// MUT
51-
let res = try query()
51+
let res = try await query()
5252
.sort(\.$url, .descending)
53-
.all().wait()
53+
.all()
5454

5555
// validate
5656
XCTAssertEqual(res.map(\.url), ["2", "1", "0"])
5757
}
5858

5959
do { // test sort(_ field: DatabaseQuery.Field, _ direction:)
6060
// MUT
61-
let res = try query()
61+
let res = try await query()
6262
.sort(DatabaseQuery.Field.sql(unsafeRaw: "url"), .descending)
63-
.all().wait()
63+
.all()
6464

6565
// validate
6666
XCTAssertEqual(res.map(\.url), ["2", "1", "0"])

0 commit comments

Comments
 (0)