From f760dcd96ebec928ba543c48dfa8ef5477ee0c0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=AE=B8=E6=81=A9=E5=AE=81?= Date: Tue, 7 Apr 2026 11:04:04 +0800 Subject: [PATCH] test: cover unresolved Spring constant mappings Add an explicit negative regression for unresolved Spring route constants so broken mappings do not emit Route, HANDLES_ROUTE, or framework CALLS links. Made-with: Cursor --- .../resolvers/spring-route-mapping.test.ts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gitnexus/test/integration/resolvers/spring-route-mapping.test.ts b/gitnexus/test/integration/resolvers/spring-route-mapping.test.ts index 0641ce9e7..05a2d14c5 100644 --- a/gitnexus/test/integration/resolvers/spring-route-mapping.test.ts +++ b/gitnexus/test/integration/resolvers/spring-route-mapping.test.ts @@ -94,6 +94,25 @@ describe('Spring route mapping', () => { expect(expectDefined(statusRoute).sourceFilePath).toContain('HealthController.java'); }); + it('skips unresolved explicit constant mappings without emitting route links', () => { + const routes = getNodesByLabel(result, 'Route'); + const handlesRouteEdges = getRelationships(result, 'HANDLES_ROUTE'); + const callEdges = getRelationships(result, 'CALLS'); + + expect(routes).toHaveLength(7); + expect( + handlesRouteEdges.some( + (edge) => + edge.sourceFilePath.includes('UserController.java') && edge.target.includes('broken'), + ), + ).toBe(false); + expect( + callEdges.some( + (edge) => edge.source === 'UserController.java' && edge.target === 'brokenUsers', + ), + ).toBe(false); + }); + it('creates framework CALLS edges from controller files to handler methods', () => { const edges = getRelationships(result, 'CALLS'); expect(