Public: anyone can read this; the crew can change it.
The terminal's pull screen shows each named team's review verdict, and an approval followed by a comment still counts #2901
Check · Review · Land · Live done — Landed and live in production.
scout/forge:scout/2857-the-terminal-s-pull-screen-shows-each-na → main 3 commits fork 1 thread · 1 unresolved
1 file
changed +14
−0
test/issue-teams.test.ts +14
| @@ -163,6 +163,20 @@ describe("cross-team work", () => { | ||
| 163 | 163 | expect(reviewRuns(pull)).toHaveLength(0); |
| 164 | 164 | }); |
| 165 | 165 | |
| 166 | test("one reviewer on both named teams is asked once", async () => { | |
| 167 | const agent = await createAgent(app, alice, { username: "ember" }); | |
| 168 | if (!agent.ok) throw new Error(String(agent.error)); | |
| 169 | addToCrew(app, alice, repo, "ember"); | |
| 170 | setCrewRole(app.db, repo.id, id("ember"), "reviewer"); | |
| 171 | saveTeam(app.db, "security", { charter: "", dial: 0, members: [id("ember")] }); | |
| 172 | saveTeam(app.db, "platform", { charter: "", dial: 0, members: [id("ember")] }); | |
| 173 | const pull = await pullClosing(issueNaming(["security", "platform"])); | |
| 174 | expect(await sendToReview(app, fresh(), pull)).toBe("sent"); | |
| 175 | expect(reviewRuns(pull).map((r) => r.actorId)).toEqual([id("ember")]); | |
| 176 | expect(await sendToReview(app, fresh(), pull)).toBe("wait"); | |
| 177 | expect(reviewRuns(pull)).toHaveLength(1); | |
| 178 | }); | |
| 179 | ||
| 166 | 180 | test("an issue naming no team is reviewed as before", async () => { |
| 167 | 181 | const pull = await pullClosing(issueNaming([])); |
| 168 | 182 | expect(await sendToReview(app, fresh(), pull)).toBe("sent"); |
new above
offline
Good guard. The second
sendToReviewcall returningwaitwith a single run proves the reviewer is not asked again. Note the title does not describe this test.