@@ -19,70 +19,72 @@ import XCTest
19
19
20
20
class AuthorControllerTests : AppTestCase {
21
21
22
- func test_query( ) throws {
22
+ func test_query( ) async throws {
23
23
// setup
24
24
let p = try savePackage ( on: app. db, " 1 " )
25
- try Repository ( package : p, owner: " owner " ) . save ( on: app. db) . wait ( )
26
- try Version ( package : p, latest: . defaultBranch) . save ( on: app. db) . wait ( )
25
+ try await Repository ( package : p, owner: " owner " ) . save ( on: app. db)
26
+ try await Version ( package : p, latest: . defaultBranch) . save ( on: app. db)
27
27
28
28
// MUT
29
- let pkg = try AuthorController . query ( on: app. db, owner: " owner " ) . wait ( )
29
+ let pkg = try await AuthorController . query ( on: app. db, owner: " owner " )
30
30
31
31
// validate
32
32
XCTAssertEqual ( pkg. map ( \. model. id) , [ p. id] )
33
33
}
34
34
35
- func test_query_no_version( ) throws {
35
+ func test_query_no_version( ) async throws {
36
36
// setup
37
37
let p = try savePackage ( on: app. db, " 1 " )
38
- try Repository ( package : p, owner: " owner " ) . save ( on: app. db) . wait ( )
38
+ try await Repository ( package : p, owner: " owner " ) . save ( on: app. db)
39
39
40
40
// MUT
41
- XCTAssertThrowsError (
42
- try AuthorController . query ( on: app. db, owner: " owner " ) . wait ( )
43
- ) {
41
+ do {
42
+ _ = try await AuthorController . query ( on: app. db, owner: " owner " )
43
+ XCTFail ( " Expected Abort.notFound " )
44
+ } catch let error as Abort {
44
45
// validate
45
- let error = $0 as? Abort
46
- XCTAssertEqual ( error? . status, . notFound)
46
+ XCTAssertEqual ( error. status, . notFound)
47
+ } catch {
48
+ XCTFail ( " Unexpected error: \( error) " )
47
49
}
48
50
}
49
51
50
- func test_query_sort_alphabetically( ) throws {
52
+ func test_query_sort_alphabetically( ) async throws {
51
53
// setup
52
- try ( [ " gamma " , " alpha " , " beta " ] ) . forEach { packageName in
54
+ for packageName in [ " gamma " , " alpha " , " beta " ] {
53
55
let p = Package ( url: " \( packageName) " . url)
54
- try p. save ( on: app. db) . wait ( )
55
- try Repository ( package : p, owner: " owner " ) . save ( on: app. db) . wait ( )
56
- try Version ( package : p, latest: . defaultBranch, packageName: packageName) . save ( on: app. db) . wait ( )
56
+ try await p. save ( on: app. db)
57
+ try await Repository ( package : p, owner: " owner " ) . save ( on: app. db)
58
+ try await Version ( package : p, latest: . defaultBranch, packageName: packageName) . save ( on: app. db)
57
59
}
58
60
59
61
// MUT
60
- let pkg = try AuthorController . query ( on: app. db, owner: " owner " ) . wait ( )
62
+ let pkg = try await AuthorController . query ( on: app. db, owner: " owner " )
61
63
62
64
// validate
63
65
XCTAssertEqual ( pkg. map ( \. model. url) , [ " alpha " , " beta " , " gamma " ] )
64
66
}
65
67
66
- func test_show_owner( ) throws {
68
+ func test_show_owner( ) async throws {
67
69
// setup
68
70
let p = try savePackage ( on: app. db, " 1 " )
69
- try Repository ( package : p, owner: " owner " ) . save ( on: app. db) . wait ( )
70
- try Version ( package : p, latest: . defaultBranch) . save ( on: app. db) . wait ( )
71
+ try await Repository ( package : p, owner: " owner " ) . save ( on: app. db)
72
+ try await Version ( package : p, latest: . defaultBranch) . save ( on: app. db)
71
73
72
74
// MUT
73
- try app. test ( . GET, " /owner " , afterResponse: { response in
75
+ try await app. test ( . GET, " /owner " , afterResponse: { response async in
74
76
XCTAssertEqual ( response. status, . ok)
75
77
} )
76
78
}
77
79
78
- func test_show_owner_empty( ) throws {
80
+ func test_show_owner_empty( ) async throws {
79
81
// setup
80
82
let p = try savePackage ( on: app. db, " 1 " )
81
- try Repository ( package : p, owner: " owner " ) . save ( on: app. db) . wait ( )
82
- try Version ( package : p, latest: . defaultBranch) . save ( on: app. db) . wait ( )
83
+ try await Repository ( package : p, owner: " owner " ) . save ( on: app. db)
84
+ try await Version ( package : p, latest: . defaultBranch) . save ( on: app. db)
83
85
84
86
// MUT
85
- try app. test ( . GET, " /fake-owner " , afterResponse: { response in
87
+ try await app. test ( . GET, " /fake-owner " , afterResponse: { response async in
86
88
XCTAssertEqual ( response. status, . notFound)
87
89
} )
88
90
}
0 commit comments