Skip to content

Commit 922fc7e

Browse files
committed
Merge branch 'issue-3655-swift-testing-part-6'
2 parents 0f41c1c + dadf097 commit 922fc7e

File tree

3 files changed

+314
-296
lines changed

3 files changed

+314
-296
lines changed

Tests/AppTests/API+PackageController+GetRouteTests.swift

Lines changed: 82 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -14,96 +14,100 @@
1414

1515
@testable import App
1616

17-
import XCTest
17+
import Testing
1818

1919

20-
class API_PackageController_GetRouteTests: AppTestCase {
20+
@Suite struct API_PackageController_GetRouteTests {
2121

2222
typealias PackageResult = PackageController.PackageResult
2323

24-
func test_releaseInfo() async throws {
25-
// setup
26-
let pkg = try await savePackage(on: app.db, "1")
27-
try await Repository(package: pkg,
28-
defaultBranch: "default",
29-
name: "bar",
30-
owner: "foo").save(on: app.db)
31-
try await [
32-
try Version(package: pkg,
33-
latest: nil,
34-
reference: .branch("branch")),
35-
try Version(package: pkg,
36-
commitDate: .t0,
37-
latest: .defaultBranch,
38-
reference: .branch("default")),
39-
try Version(package: pkg,
40-
latest: nil,
41-
reference: .tag(.init(1, 2, 3))),
42-
try Version(package: pkg,
43-
commitDate: .t1,
44-
latest: .release,
45-
reference: .tag(.init(2, 1, 0))),
46-
try Version(package: pkg,
47-
commitDate: .t2,
48-
latest: .preRelease,
49-
reference: .tag(.init(3, 0, 0, "beta"))),
50-
].save(on: app.db)
51-
let pr = try await PackageResult.query(on: app.db,
52-
owner: "foo",
53-
repository: "bar")
24+
@Test func releaseInfo() async throws {
25+
try await withApp { app in
26+
// setup
27+
let pkg = try await savePackage(on: app.db, "1")
28+
try await Repository(package: pkg,
29+
defaultBranch: "default",
30+
name: "bar",
31+
owner: "foo").save(on: app.db)
32+
try await [
33+
try Version(package: pkg,
34+
latest: nil,
35+
reference: .branch("branch")),
36+
try Version(package: pkg,
37+
commitDate: .t0,
38+
latest: .defaultBranch,
39+
reference: .branch("default")),
40+
try Version(package: pkg,
41+
latest: nil,
42+
reference: .tag(.init(1, 2, 3))),
43+
try Version(package: pkg,
44+
commitDate: .t1,
45+
latest: .release,
46+
reference: .tag(.init(2, 1, 0))),
47+
try Version(package: pkg,
48+
commitDate: .t2,
49+
latest: .preRelease,
50+
reference: .tag(.init(3, 0, 0, "beta"))),
51+
].save(on: app.db)
52+
let pr = try await PackageResult.query(on: app.db,
53+
owner: "foo",
54+
repository: "bar")
5455

55-
// MUT
56-
let info = API.PackageController.GetRoute.releaseInfo(
57-
packageUrl: "1",
58-
defaultBranchVersion: pr.defaultBranchVersion,
59-
releaseVersion: pr.releaseVersion,
60-
preReleaseVersion: pr.preReleaseVersion
61-
)
56+
// MUT
57+
let info = API.PackageController.GetRoute.releaseInfo(
58+
packageUrl: "1",
59+
defaultBranchVersion: pr.defaultBranchVersion,
60+
releaseVersion: pr.releaseVersion,
61+
preReleaseVersion: pr.preReleaseVersion
62+
)
6263

63-
// validate
64-
XCTAssertEqual(info.stable?.date, .t1)
65-
XCTAssertEqual(info.beta?.date, .t2)
66-
XCTAssertEqual(info.latest?.date, .t0)
64+
// validate
65+
#expect(info.stable?.date == .t1)
66+
#expect(info.beta?.date == .t2)
67+
#expect(info.latest?.date == .t0)
68+
}
6769
}
6870

69-
func test_releaseInfo_exclude_non_latest() async throws {
71+
@Test func releaseInfo_exclude_non_latest() async throws {
7072
// Test to ensure that we don't include versions with `latest IS NULL`
71-
// setup
72-
let pkg = try await savePackage(on: app.db, "1")
73-
try await Repository(package: pkg,
74-
defaultBranch: "default",
75-
name: "bar",
76-
owner: "foo").save(on: app.db)
77-
try await [
78-
try Version(package: pkg,
79-
commitDate: .t0,
80-
latest: .defaultBranch,
81-
reference: .branch("default")),
82-
try Version(package: pkg,
83-
commitDate: .t1,
84-
latest: .release,
85-
reference: .tag(.init(2, 1, 0))),
86-
try Version(package: pkg,
87-
commitDate: .t2,
88-
latest: nil,
89-
reference: .tag(.init(2, 0, 0, "beta"))),
90-
].save(on: app.db)
91-
let pr = try await PackageResult.query(on: app.db,
92-
owner: "foo",
93-
repository: "bar")
73+
try await withApp { app in
74+
// setup
75+
let pkg = try await savePackage(on: app.db, "1")
76+
try await Repository(package: pkg,
77+
defaultBranch: "default",
78+
name: "bar",
79+
owner: "foo").save(on: app.db)
80+
try await [
81+
try Version(package: pkg,
82+
commitDate: .t0,
83+
latest: .defaultBranch,
84+
reference: .branch("default")),
85+
try Version(package: pkg,
86+
commitDate: .t1,
87+
latest: .release,
88+
reference: .tag(.init(2, 1, 0))),
89+
try Version(package: pkg,
90+
commitDate: .t2,
91+
latest: nil,
92+
reference: .tag(.init(2, 0, 0, "beta"))),
93+
].save(on: app.db)
94+
let pr = try await PackageResult.query(on: app.db,
95+
owner: "foo",
96+
repository: "bar")
9497

95-
// MUT
96-
let info = API.PackageController.GetRoute.releaseInfo(
97-
packageUrl: "1",
98-
defaultBranchVersion: pr.defaultBranchVersion,
99-
releaseVersion: pr.releaseVersion,
100-
preReleaseVersion: pr.preReleaseVersion
101-
)
98+
// MUT
99+
let info = API.PackageController.GetRoute.releaseInfo(
100+
packageUrl: "1",
101+
defaultBranchVersion: pr.defaultBranchVersion,
102+
releaseVersion: pr.releaseVersion,
103+
preReleaseVersion: pr.preReleaseVersion
104+
)
102105

103-
// validate
104-
XCTAssertEqual(info.stable?.date, .t1)
105-
XCTAssertEqual(info.beta, nil)
106-
XCTAssertEqual(info.latest?.date, .t0)
106+
// validate
107+
#expect(info.stable?.date == .t1)
108+
#expect(info.beta == nil)
109+
#expect(info.latest?.date == .t0)
110+
}
107111
}
108112

109113
}

0 commit comments

Comments
 (0)