Commit d9d1f94513
Unsigned
Layout: unified · split
gitbayTests/MRLifecycleTests.swift +11 −10
| @@ -121,9 +121,10 @@ struct MRLifecycleActionTests { | |||
| 121 | """)) | 121 | """)) |
| 122 | } | 122 | } |
| 123 | 123 | ||
| 124 | /// `load()` issues three GETs: `mr show`, `mr diff`, `mr threads`. | 124 | /// `load()` issues four GETs: `mr show`, `mr diff`, `mr threads`, |
| 125 | /// `loaded()` runs it once (3 GETs, the last two unstubbed and failed), | 125 | /// `mr revisions`. `loaded()` runs it once (4 GETs, the last three |
| 126 | /// so a reload after a write brings the total to 6. | 126 | /// unstubbed and failed), so a reload after a write brings the total |
| 127 | /// to 8. | ||
| 127 | private func gets(_ box: StubProtocol.Box) -> Int { | 128 | private func gets(_ box: StubProtocol.Box) -> Int { |
| 128 | box.seen.count { $0.method == "GET" } | 129 | box.seen.count { $0.method == "GET" } |
| 129 | } | 130 | } |
| @@ -134,14 +135,14 @@ struct MRLifecycleActionTests { | |||
| 134 | await model.setDraft(true) | 135 | await model.setDraft(true) |
| 135 | var write = try #require(box.seen.first { $0.method == "POST" }) | 136 | var write = try #require(box.seen.first { $0.method == "POST" }) |
| 136 | #expect(try argvOf(write) == ["mr", "draft", "krz/gitbay", "7"]) | 137 | #expect(try argvOf(write) == ["mr", "draft", "krz/gitbay", "7"]) |
| 137 | #expect(gets(box) == 6) | 138 | #expect(gets(box) == 8) |
| 138 | 139 | ||
| 139 | let (model2, box2) = try await loaded() | 140 | let (model2, box2) = try await loaded() |
| 140 | ok(box2) | 141 | ok(box2) |
| 141 | await model2.setDraft(false) | 142 | await model2.setDraft(false) |
| 142 | write = try #require(box2.seen.first { $0.method == "POST" }) | 143 | write = try #require(box2.seen.first { $0.method == "POST" }) |
| 143 | #expect(try argvOf(write) == ["mr", "ready", "krz/gitbay", "7"]) | 144 | #expect(try argvOf(write) == ["mr", "ready", "krz/gitbay", "7"]) |
| 144 | #expect(gets(box2) == 6) | 145 | #expect(gets(box2) == 8) |
| 145 | } | 146 | } |
| 146 | 147 | ||
| 147 | @Test func retargetPassesTheBranchPositionally() async throws { | 148 | @Test func retargetPassesTheBranchPositionally() async throws { |
| @@ -150,7 +151,7 @@ struct MRLifecycleActionTests { | |||
| 150 | await model.retarget(to: "release") | 151 | await model.retarget(to: "release") |
| 151 | let write = try #require(box.seen.first { $0.method == "POST" }) | 152 | let write = try #require(box.seen.first { $0.method == "POST" }) |
| 152 | #expect(try argvOf(write) == ["mr", "retarget", "krz/gitbay", "7", "release"]) | 153 | #expect(try argvOf(write) == ["mr", "retarget", "krz/gitbay", "7", "release"]) |
| 153 | #expect(gets(box) == 6) | 154 | #expect(gets(box) == 8) |
| 154 | } | 155 | } |
| 155 | 156 | ||
| 156 | /// `mr review request` is a THREE-word path. Two words posts a | 157 | /// `mr review request` is a THREE-word path. Two words posts a |
| @@ -162,7 +163,7 @@ struct MRLifecycleActionTests { | |||
| 162 | let write = try #require(box.seen.first { $0.method == "POST" }) | 163 | let write = try #require(box.seen.first { $0.method == "POST" }) |
| 163 | #expect(try argvOf(write) | 164 | #expect(try argvOf(write) |
| 164 | == ["mr", "review", "request", "krz/gitbay", "7", "--add", "rae"]) | 165 | == ["mr", "review", "request", "krz/gitbay", "7", "--add", "rae"]) |
| 165 | #expect(gets(box) == 6) | 166 | #expect(gets(box) == 8) |
| 166 | } | 167 | } |
| 167 | 168 | ||
| 168 | @Test func removingAReviewRequestUsesRemoveNotAdd() async throws { | 169 | @Test func removingAReviewRequestUsesRemoveNotAdd() async throws { |
| @@ -172,7 +173,7 @@ struct MRLifecycleActionTests { | |||
| 172 | let write = try #require(box.seen.first { $0.method == "POST" }) | 173 | let write = try #require(box.seen.first { $0.method == "POST" }) |
| 173 | #expect(try argvOf(write) | 174 | #expect(try argvOf(write) |
| 174 | == ["mr", "review", "request", "krz/gitbay", "7", "--remove", "rae"]) | 175 | == ["mr", "review", "request", "krz/gitbay", "7", "--remove", "rae"]) |
| 175 | #expect(gets(box) == 6) | 176 | #expect(gets(box) == 8) |
| 176 | } | 177 | } |
| 177 | 178 | ||
| 178 | @Test func branchesComeFromRepoRefs() async throws { | 179 | @Test func branchesComeFromRepoRefs() async throws { |
| @@ -195,8 +196,8 @@ struct MRLifecycleActionTests { | |||
| 195 | #expect(model.actionError?.isEmpty == false) | 196 | #expect(model.actionError?.isEmpty == false) |
| 196 | #expect(model.working == false) | 197 | #expect(model.working == false) |
| 197 | // A refusal throws before `perform` reaches `load()`: still the | 198 | // A refusal throws before `perform` reaches `load()`: still the |
| 198 | // 3 GETs from `loaded()`, none from a reload. | 199 | // 4 GETs from `loaded()`, none from a reload. |
| 199 | #expect(gets(box) == 3) | 200 | #expect(gets(box) == 4) |
| 200 | } | 201 | } |
| 201 | } | 202 | } |
| 202 | 203 | ||