@@ -19,84 +19,81 @@ import XCTest
19
19
20
20
class Joined3Tests : AppTestCase {
21
21
22
- func test_query_no_version( ) throws {
22
+ func test_query_no_version( ) async throws {
23
23
// setup
24
24
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)
26
26
27
27
// 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 ( )
31
29
32
30
// validate
33
31
XCTAssertEqual ( res. map ( \. model. id) , [ ] )
34
32
}
35
33
36
- func test_query_multiple_versions( ) throws {
34
+ func test_query_multiple_versions( ) async throws {
37
35
// Ensure multiple versions don't multiply the package selection
38
36
// setup
39
37
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)
43
41
44
42
// MUT
45
- let res = try Joined3 < Package , Repository , Version >
43
+ let res = try await Joined3 < Package , Repository , Version >
46
44
. query ( on: app. db, version: . defaultBranch)
47
45
. all ( )
48
- . wait ( )
49
46
50
47
// validate
51
48
XCTAssertEqual ( res. map ( \. model. id) , [ p. id] )
52
49
}
53
50
54
51
55
- func test_query_relationship_properties( ) throws {
52
+ func test_query_relationship_properties( ) async throws {
56
53
// Ensure relationship properties are populated by query
57
54
// setup
58
55
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,
61
58
latest: . defaultBranch,
62
- packageName: " package name " ) . save ( on: app. db) . wait ( )
59
+ packageName: " package name " ) . save ( on: app. db)
63
60
64
61
// MUT
65
- let res = try Joined3 < Package , Repository , Version >
62
+ let res = try await Joined3 < Package , Repository , Version >
66
63
. query ( on: app. db, version: . defaultBranch)
67
- . all ( ) . wait ( )
64
+ . all ( )
68
65
69
66
// validate
70
67
XCTAssertEqual ( res. map { $0. repository. owner } , [ " owner " ] )
71
68
XCTAssertEqual ( res. map { $0. version. packageName } , [ " package name " ] )
72
69
}
73
70
74
- func test_query_missing_relations( ) throws {
71
+ func test_query_missing_relations( ) async throws {
75
72
// Neither should be possible in practice, this is just ensuring we cannot
76
73
// force unwrap the `repository` or `version` properties in the pathological
77
74
// event, because there are no results to access the properties on.
78
75
do { // no repository
79
76
let p = try savePackage ( on: app. db, " 1 " )
80
- try Version ( package : p,
77
+ try await Version ( package : p,
81
78
latest: . defaultBranch,
82
- packageName: " package name " ) . save ( on: app. db) . wait ( )
79
+ packageName: " package name " ) . save ( on: app. db)
83
80
84
81
// MUT
85
- let res = try Joined3 < Package , Repository , Version >
82
+ let res = try await Joined3 < Package , Repository , Version >
86
83
. query ( on: app. db, version: . defaultBranch)
87
- . all ( ) . wait ( )
84
+ . all ( )
88
85
89
86
// validate - result is empty, `res[0].repository` cannot be called
90
87
XCTAssertTrue ( res. isEmpty)
91
88
}
92
89
do { // no version
93
90
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)
95
92
96
93
// MUT
97
- let res = try Joined3 < Package , Repository , Version >
94
+ let res = try await Joined3 < Package , Repository , Version >
98
95
. query ( on: app. db, version: . defaultBranch)
99
- . all ( ) . wait ( )
96
+ . all ( )
100
97
101
98
// validate - result is empty, `res[0].repository` cannot be called
102
99
XCTAssertTrue ( res. isEmpty)
0 commit comments