Merge pull request #1689 from Runfusion/gsxdsm/fix-full-tests

Fix Full Suite test failures: productivity fixtures + delete teardown race
This commit is contained in:
gsxdsm
2026-06-20 12:19:11 +08:00
committed by GitHub
3 changed files with 9 additions and 2 deletions

View File

@@ -117,6 +117,7 @@ function populatedProductivityFixture() {
commits: 2,
pullRequests: 1,
loc: { value: 42, unavailable: false },
hoursSaved: { value: 3, unavailable: false },
taskDuration: {
completedTasks: 2,
averageMs: 1_800_000,
@@ -135,6 +136,7 @@ function emptyProductivityFixture() {
commits: 0,
pullRequests: 0,
loc: { value: null, unavailable: true },
hoursSaved: { value: null, unavailable: true },
taskDuration: {
completedTasks: 0,
averageMs: null,

View File

@@ -105,6 +105,7 @@ function populatedProductivityFixture() {
commits: 2,
pullRequests: 1,
loc: { value: 42, unavailable: false },
hoursSaved: { value: 3, unavailable: false },
taskDuration: {
completedTasks: 2,
averageMs: 1_800_000,
@@ -123,6 +124,7 @@ function emptyProductivityFixture() {
commits: 0,
pullRequests: 0,
loc: { value: null, unavailable: true },
hoursSaved: { value: null, unavailable: true },
taskDuration: {
completedTasks: 0,
averageMs: null,

View File

@@ -106,8 +106,11 @@ describe("github tracking delete flow", () => {
afterEach(async () => {
stateService.stop();
store.close();
await rm(rootDir, { recursive: true, force: true });
await rm(globalDir, { recursive: true, force: true });
// The delete handlers are fire-and-forget (`void this.handleTaskDeleted`), so a
// trailing async write into `.fusion` can race this cleanup and surface as
// ENOTEMPTY. `maxRetries`/`retryDelay` make rm tolerant of that teardown race.
await rm(rootDir, { recursive: true, force: true, maxRetries: 5, retryDelay: 50 });
await rm(globalDir, { recursive: true, force: true, maxRetries: 5, retryDelay: 50 });
});
it("closes the linked issue as not_planned when a tracked task is deleted", async () => {