From 63e6f820199b3d542da45cb6e4762981d1a84a4c Mon Sep 17 00:00:00 2001 From: "sentry-junior[bot]" <264270552+sentry-junior[bot]@users.noreply.github.com> Date: Wed, 12 Aug 2026 21:44:02 +0000 Subject: [PATCH 1/2] fix: Lowercase withdraw project action Co-Authored-By: Nick Meisenheimer --- src/app/routes/ProjectDetailsPage.tsx | 2 +- test/app/routes.test.tsx | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/app/routes/ProjectDetailsPage.tsx b/src/app/routes/ProjectDetailsPage.tsx index 05204fe..f707dfc 100644 --- a/src/app/routes/ProjectDetailsPage.tsx +++ b/src/app/routes/ProjectDetailsPage.tsx @@ -89,7 +89,7 @@ export function ProjectDetailsPage() { }); }} > - Withdraw + withdraw )} diff --git a/test/app/routes.test.tsx b/test/app/routes.test.tsx index 9e2e9a4..04a1a38 100644 --- a/test/app/routes.test.tsx +++ b/test/app/routes.test.tsx @@ -453,6 +453,18 @@ describe('clickable project routes', () => { expect(screen.queryByRole('heading', {name: 'Overview'})).toBeNull(); }); + it('renders project actions with consistent lowercase labels', async () => { + fetchMock.mockResolvedValue(json({project: projectFixture})); + + renderRoute( + , + '/years/2026/projects/project', + '/years/:yearId/projects/:projectId', + ); + + expect(await screen.findByRole('button', {name: 'withdraw'})).toBeTruthy(); + }); + it('renders project descriptions as GitHub-flavored Markdown', async () => { fetchMock.mockResolvedValue( json({ From 3b292cbea4077e1b02b7f0281e085adc2be63991 Mon Sep 17 00:00:00 2001 From: "sentry-junior[bot]" <264270552+sentry-junior[bot]@users.noreply.github.com> Date: Wed, 12 Aug 2026 21:47:03 +0000 Subject: [PATCH 2/2] chore: Drop withdraw button regression test Co-Authored-By: Nick Meisenheimer --- test/app/routes.test.tsx | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/test/app/routes.test.tsx b/test/app/routes.test.tsx index 04a1a38..9e2e9a4 100644 --- a/test/app/routes.test.tsx +++ b/test/app/routes.test.tsx @@ -453,18 +453,6 @@ describe('clickable project routes', () => { expect(screen.queryByRole('heading', {name: 'Overview'})).toBeNull(); }); - it('renders project actions with consistent lowercase labels', async () => { - fetchMock.mockResolvedValue(json({project: projectFixture})); - - renderRoute( - , - '/years/2026/projects/project', - '/years/:yearId/projects/:projectId', - ); - - expect(await screen.findByRole('button', {name: 'withdraw'})).toBeTruthy(); - }); - it('renders project descriptions as GitHub-flavored Markdown', async () => { fetchMock.mockResolvedValue( json({