diff --git a/e2e/smoke/reporter-variations.spec.ts b/e2e/smoke/reporter-variations.spec.ts index bf0cbb41..1fcf6cf1 100644 --- a/e2e/smoke/reporter-variations.spec.ts +++ b/e2e/smoke/reporter-variations.spec.ts @@ -35,9 +35,6 @@ test.describe("Reporter Variations E2E", () => { await expect(sidebar).toContainText("John Guest"); await expect(sidebar).toContainText("john@guest.com"); - - // Timeline event for guest - await expect(page.getByText("Issue reported by John Guest")).toBeVisible(); }); test("should display guest with name only correctly", async ({ page }) => { @@ -46,7 +43,6 @@ test.describe("Reporter Variations E2E", () => { const sidebar = page.getByTestId("issue-sidebar"); await expect(sidebar).toContainText("Only Name"); - await expect(page.getByText("Issue reported by Only Name")).toBeVisible(); }); test("should display guest with email only correctly", async ({ page }) => { @@ -56,9 +52,6 @@ test.describe("Reporter Variations E2E", () => { await expect(sidebar).toContainText("Anonymous"); await expect(sidebar).toContainText("only@email.com"); - await expect( - page.getByText("Issue reported by only@email.com") - ).toBeVisible(); }); test("should display fully anonymous reporter correctly", async ({ @@ -69,7 +62,6 @@ test.describe("Reporter Variations E2E", () => { const sidebar = page.getByTestId("issue-sidebar"); await expect(sidebar).toContainText("Anonymous"); - await expect(page.getByText("Issue reported by Guest")).toBeVisible(); }); test("should display invited user reporter correctly (legacy logic)", async ({ diff --git a/src/components/issues/IssueTimeline.tsx b/src/components/issues/IssueTimeline.tsx index f30463d6..1d11d788 100644 --- a/src/components/issues/IssueTimeline.tsx +++ b/src/components/issues/IssueTimeline.tsx @@ -52,12 +52,6 @@ function TimelineItem({ event }: { event: TimelineEvent }): React.JSX.Element {
{isSystem ? (
- - {event.author.name} - {event.content} ({ db: mockDeep(), @@ -143,7 +142,6 @@ describe("Issue Service", () => { await createIssue(params); - expect(createTimelineEvent).toHaveBeenCalled(); expect(createNotification).toHaveBeenCalledWith( { type: "new_issue", diff --git a/src/services/issues.ts b/src/services/issues.ts index cd89b207..98b5a510 100644 --- a/src/services/issues.ts +++ b/src/services/issues.ts @@ -132,15 +132,6 @@ export async function createIssue({ if (!issue) throw new Error("Issue creation failed"); - // 3. Create Timeline Event - const reporterDesc = - reporterName ?? reporterEmail ?? (reportedBy ? "Member" : "Guest"); - await createTimelineEvent( - issue.id, - `Issue reported by ${reporterDesc}`, - tx - ); - log.info( { issueId: issue.id, diff --git a/src/test/integration/supabase/issue-services.test.ts b/src/test/integration/supabase/issue-services.test.ts index b6b1cbf8..915ccd7e 100644 --- a/src/test/integration/supabase/issue-services.test.ts +++ b/src/test/integration/supabase/issue-services.test.ts @@ -215,7 +215,7 @@ describe("Issue Service Functions (Integration)", () => { }); describe("createIssue with reporter variations", () => { - it("should create an issue with guest reporter info and correct timeline message", async () => { + it("should create an issue with guest reporter info", async () => { const db = await getTestDb(); const guestInfo = { @@ -233,7 +233,7 @@ describe("Issue Service Functions (Integration)", () => { expect(issue.reporterEmail).toBe(guestInfo.reporterEmail); expect(issue.reportedBy).toBeNull(); - // Verify timeline event + // Verify no initial timeline event is created const events = await db.query.issueComments.findMany({ where: eq(issueComments.issueId, issue.id), orderBy: desc(issueComments.createdAt), @@ -242,13 +242,10 @@ describe("Issue Service Functions (Integration)", () => { const reportEvent = events.find( (e: any) => e.isSystem && e.content.includes("Issue reported by") ); - expect(reportEvent).toBeDefined(); - expect(reportEvent?.content).toBe( - `Issue reported by ${guestInfo.reporterName}` - ); + expect(reportEvent).toBeUndefined(); }); - it("should create an anonymous issue and correct timeline message", async () => { + it("should create an anonymous issue", async () => { const db = await getTestDb(); const anonInfo = { @@ -263,6 +260,7 @@ describe("Issue Service Functions (Integration)", () => { expect(issue.reporterEmail).toBeNull(); expect(issue.reportedBy).toBeNull(); + // Verify no initial timeline event is created const events = await db.query.issueComments.findMany({ where: eq(issueComments.issueId, issue.id), orderBy: desc(issueComments.createdAt), @@ -271,10 +269,10 @@ describe("Issue Service Functions (Integration)", () => { const reportEvent = events.find( (e: any) => e.isSystem && e.content.includes("Issue reported by") ); - expect(reportEvent?.content).toBe("Issue reported by Guest"); + expect(reportEvent).toBeUndefined(); }); - it("should create a member issue and correct timeline message", async () => { + it("should create a member issue", async () => { const db = await getTestDb(); const memberInfo = { @@ -290,6 +288,7 @@ describe("Issue Service Functions (Integration)", () => { expect(issue.reporterName).toBeNull(); expect(issue.reporterEmail).toBeNull(); + // Verify no initial timeline event is created const events = await db.query.issueComments.findMany({ where: eq(issueComments.issueId, issue.id), orderBy: desc(issueComments.createdAt), @@ -298,7 +297,7 @@ describe("Issue Service Functions (Integration)", () => { const reportEvent = events.find( (e: any) => e.isSystem && e.content.includes("Issue reported by") ); - expect(reportEvent?.content).toBe("Issue reported by Member"); + expect(reportEvent).toBeUndefined(); }); }); }); diff --git a/src/test/integration/supabase/issues.test.ts b/src/test/integration/supabase/issues.test.ts index f9ffe51f..ff38c1c7 100644 --- a/src/test/integration/supabase/issues.test.ts +++ b/src/test/integration/supabase/issues.test.ts @@ -323,14 +323,14 @@ describe("Issues CRUD Operations (PGlite)", () => { .insert(issueComments) .values({ issueId: testIssue.id, - content: "Issue created", + content: "Status changed from new to in_progress", isSystem: true, authorId: null, }) .returning(); expect(event).toBeDefined(); - expect(event.content).toBe("Issue created"); + expect(event.content).toBe("Status changed from new to in_progress"); expect(event.isSystem).toBe(true); expect(event.authorId).toBeNull(); }); @@ -387,7 +387,7 @@ describe("Issues CRUD Operations (PGlite)", () => { await db.insert(issueComments).values([ { issueId: testIssue.id, - content: "Issue created", + content: "Priority changed", isSystem: true, createdAt: new Date(now - 3_000), }, @@ -520,7 +520,7 @@ describe("Issues CRUD Operations (PGlite)", () => { // Create timeline event await db.insert(issueComments).values({ issueId: issue.id, - content: "Issue created", + content: "Status changed from new to in_progress", isSystem: true, });