@@ -19,102 +19,102 @@ import XCTest
19
19
20
20
class KeywordControllerTests : AppTestCase {
21
21
22
- func test_query( ) throws {
22
+ func test_query( ) async throws {
23
23
// setup
24
24
do {
25
25
let p = try savePackage ( on: app. db, " 0 " )
26
- try Repository ( package : p,
27
- keywords: [ " bar " ] ,
28
- name: " 0 " ,
29
- owner: " owner " )
30
- . save ( on: app. db) . wait ( )
31
- try Version ( package : p, latest: . defaultBranch) . save ( on: app. db) . wait ( )
26
+ try await Repository ( package : p,
27
+ keywords: [ " bar " ] ,
28
+ name: " 0 " ,
29
+ owner: " owner " )
30
+ . save ( on: app. db)
31
+ try await Version ( package : p, latest: . defaultBranch) . save ( on: app. db)
32
32
}
33
33
do {
34
34
let p = try savePackage ( on: app. db, " 1 " )
35
- try Repository ( package : p,
36
- keywords: [ " foo " ] ,
37
- name: " 1 " ,
38
- owner: " owner " )
39
- . save ( on: app. db) . wait ( )
40
- try Version ( package : p, latest: . defaultBranch) . save ( on: app. db) . wait ( )
35
+ try await Repository ( package : p,
36
+ keywords: [ " foo " ] ,
37
+ name: " 1 " ,
38
+ owner: " owner " )
39
+ . save ( on: app. db)
40
+ try await Version ( package : p, latest: . defaultBranch) . save ( on: app. db)
41
41
}
42
42
do {
43
43
let p = try savePackage ( on: app. db, " 2 " )
44
- try Repository ( package : p,
45
- name: " 2 " ,
46
- owner: " owner " )
47
- . save ( on: app. db) . wait ( )
48
- try Version ( package : p, latest: . defaultBranch) . save ( on: app. db) . wait ( )
44
+ try await Repository ( package : p,
45
+ name: " 2 " ,
46
+ owner: " owner " )
47
+ . save ( on: app. db)
48
+ try await Version ( package : p, latest: . defaultBranch) . save ( on: app. db)
49
49
}
50
50
// MUT
51
- let page = try KeywordController . query ( on: app. db,
52
- keyword: " foo " ,
53
- page: 1 ,
54
- pageSize: 10 ) . wait ( )
51
+ let page = try await KeywordController . query ( on: app. db,
52
+ keyword: " foo " ,
53
+ page: 1 ,
54
+ pageSize: 10 )
55
55
56
56
// validation
57
57
XCTAssertEqual ( page. results. map ( \. model. url) , [ " 1 " ] )
58
58
XCTAssertEqual ( page. hasMoreResults, false )
59
59
}
60
60
61
- func test_query_pagination( ) throws {
61
+ func test_query_pagination( ) async throws {
62
62
// setup
63
- try ( 0 ..< 9 ) . shuffled ( ) . forEach { idx in
63
+ for idx in ( 0 ..< 9 ) . shuffled ( ) {
64
64
let p = Package ( url: " \( idx) " . url, score: 10 - idx)
65
- try p. save ( on: app. db) . wait ( )
66
- try Repository ( package : p,
67
- keywords: [ " foo " ] ,
68
- name: " \( idx) " ,
69
- owner: " owner " ) . save ( on: app. db) . wait ( )
70
- try Version ( package : p, latest: . defaultBranch) . save ( on: app. db) . wait ( )
65
+ try await p. save ( on: app. db)
66
+ try await Repository ( package : p,
67
+ keywords: [ " foo " ] ,
68
+ name: " \( idx) " ,
69
+ owner: " owner " ) . save ( on: app. db)
70
+ try await Version ( package : p, latest: . defaultBranch) . save ( on: app. db)
71
71
}
72
72
do { // first page
73
- // MUT
74
- let page = try KeywordController . query ( on: app. db,
75
- keyword: " foo " ,
76
- page: 1 ,
77
- pageSize: 3 ) . wait ( )
73
+ // MUT
74
+ let page = try await KeywordController . query ( on: app. db,
75
+ keyword: " foo " ,
76
+ page: 1 ,
77
+ pageSize: 3 )
78
78
// validate
79
79
XCTAssertEqual ( page. results. map ( \. model. url) , [ " 0 " , " 1 " , " 2 " ] )
80
80
XCTAssertEqual ( page. hasMoreResults, true )
81
81
}
82
82
do { // second page
83
- // MUT
84
- let page = try KeywordController . query ( on: app. db,
85
- keyword: " foo " ,
86
- page: 2 ,
87
- pageSize: 3 ) . wait ( )
83
+ // MUT
84
+ let page = try await KeywordController . query ( on: app. db,
85
+ keyword: " foo " ,
86
+ page: 2 ,
87
+ pageSize: 3 )
88
88
// validate
89
89
XCTAssertEqual ( page. results. map ( \. model. url) , [ " 3 " , " 4 " , " 5 " ] )
90
90
XCTAssertEqual ( page. hasMoreResults, true )
91
91
}
92
92
do { // last page
93
- // MUT
94
- let page = try KeywordController . query ( on: app. db,
95
- keyword: " foo " ,
96
- page: 3 ,
97
- pageSize: 3 ) . wait ( )
93
+ // MUT
94
+ let page = try await KeywordController . query ( on: app. db,
95
+ keyword: " foo " ,
96
+ page: 3 ,
97
+ pageSize: 3 )
98
98
// validate
99
99
XCTAssertEqual ( page. results. map ( \. model. url) , [ " 6 " , " 7 " , " 8 " ] )
100
100
XCTAssertEqual ( page. hasMoreResults, false )
101
101
}
102
102
}
103
103
104
- func test_show_keyword( ) throws {
104
+ func test_show_keyword( ) async throws {
105
105
// setup
106
106
do {
107
107
let p = try savePackage ( on: app. db, " 1 " )
108
- try Repository ( package : p,
109
- keywords: [ " foo " ] ,
110
- name: " 1 " ,
111
- owner: " owner " ) . save ( on: app. db) . wait ( )
112
- try Version ( package : p, latest: . defaultBranch) . save ( on: app. db) . wait ( )
108
+ try await Repository ( package : p,
109
+ keywords: [ " foo " ] ,
110
+ name: " 1 " ,
111
+ owner: " owner " ) . save ( on: app. db)
112
+ try await Version ( package : p, latest: . defaultBranch) . save ( on: app. db)
113
113
}
114
114
// MUT
115
- try app. test ( . GET, " /keywords/foo " ) {
115
+ try await app. test ( . GET, " /keywords/foo " ) { req async in
116
116
// validate
117
- XCTAssertEqual ( $0 . status, . ok)
117
+ XCTAssertEqual ( req . status, . ok)
118
118
}
119
119
}
120
120
0 commit comments