From 51393d9b825598109134c91ff55ab1705bb4dde7 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 10 Jun 2026 18:47:46 +0000 Subject: [PATCH 1/2] fix: rename ApplicationPageResponse.content to applications The field name `content` clashed with the MCP protocol's top-level `content` array in tool call results. ChatGPT's strict openai-mcp client misread the nested list as the MCP content items array (which require a `type` field), causing it to display "0 of 0 lines" while Claude's more lenient client handled it correctly. https://claude.ai/code/session_01FRqHTSu1mmXd9JMXjbY4wn --- .../com/jobtracker/dto/application/ApplicationPageResponse.java | 2 +- src/test/java/com/jobtracker/e2e/ApplicationE2ETest.java | 2 +- .../com/jobtracker/integration/ApplicationControllerIT.java | 2 +- src/test/java/com/jobtracker/unit/ApplicationServiceTest.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/jobtracker/dto/application/ApplicationPageResponse.java b/src/main/java/com/jobtracker/dto/application/ApplicationPageResponse.java index 8bf404a3..a5be159f 100644 --- a/src/main/java/com/jobtracker/dto/application/ApplicationPageResponse.java +++ b/src/main/java/com/jobtracker/dto/application/ApplicationPageResponse.java @@ -7,7 +7,7 @@ @Schema(description = "Paginated list of job applications") public record ApplicationPageResponse( @Schema(description = "Applications on this page") - List content, + List applications, @Schema(description = "Current page number (0-based)", example = "0") int pageNumber, @Schema(description = "Number of items per page", example = "10") diff --git a/src/test/java/com/jobtracker/e2e/ApplicationE2ETest.java b/src/test/java/com/jobtracker/e2e/ApplicationE2ETest.java index aae71aa0..ee0de655 100644 --- a/src/test/java/com/jobtracker/e2e/ApplicationE2ETest.java +++ b/src/test/java/com/jobtracker/e2e/ApplicationE2ETest.java @@ -153,7 +153,7 @@ void fullApplicationCrud_createFetchUpdateArchiveAndHardDelete() { .get("/api/v1/applications") .then() .statusCode(200) - .body("content", hasSize(1)) + .body("applications", hasSize(1)) .body("totalElements", equalTo(1)); // 7. Archive diff --git a/src/test/java/com/jobtracker/integration/ApplicationControllerIT.java b/src/test/java/com/jobtracker/integration/ApplicationControllerIT.java index e2cd2185..bf132d66 100644 --- a/src/test/java/com/jobtracker/integration/ApplicationControllerIT.java +++ b/src/test/java/com/jobtracker/integration/ApplicationControllerIT.java @@ -266,7 +266,7 @@ void getAll_shouldReturnPagedResponse() throws Exception { mockMvc.perform(get("/api/v1/applications") .header("Authorization", "Bearer " + accessToken)) .andExpect(status().isOk()) - .andExpect(jsonPath("$.content").isArray()) + .andExpect(jsonPath("$.applications").isArray()) .andExpect(jsonPath("$.totalElements").value(2)); } diff --git a/src/test/java/com/jobtracker/unit/ApplicationServiceTest.java b/src/test/java/com/jobtracker/unit/ApplicationServiceTest.java index 1da59323..82bda554 100644 --- a/src/test/java/com/jobtracker/unit/ApplicationServiceTest.java +++ b/src/test/java/com/jobtracker/unit/ApplicationServiceTest.java @@ -276,7 +276,7 @@ void getAll_shouldReturnPagedResponse() { when(applicationMapper.toResponse(app)).thenReturn(response); ApplicationPageResponse result = applicationService.getAll(null, null, null, null, null, null, false, 0, 10, null); - assertThat(result.content()).hasSize(1); + assertThat(result.applications()).hasSize(1); assertThat(result.totalElements()).isEqualTo(1); } From 34e77f0c3701def4d064a34f7f5e62045105c438 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 10 Jun 2026 19:06:03 +0000 Subject: [PATCH 2/2] fix: update remaining E2E test references content[] -> applications[] Two jsonpath assertions in ApplicationE2ETest still used the old `content[0]` path after the field rename. https://claude.ai/code/session_01FRqHTSu1mmXd9JMXjbY4wn --- src/test/java/com/jobtracker/e2e/ApplicationE2ETest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/java/com/jobtracker/e2e/ApplicationE2ETest.java b/src/test/java/com/jobtracker/e2e/ApplicationE2ETest.java index ee0de655..3ff89589 100644 --- a/src/test/java/com/jobtracker/e2e/ApplicationE2ETest.java +++ b/src/test/java/com/jobtracker/e2e/ApplicationE2ETest.java @@ -231,7 +231,7 @@ void getAll_withFilter_shouldReturnFilteredResults() { .then() .statusCode(200) .body("totalElements", equalTo(1)) - .body("content[0].vacancyName", equalTo("App RH")); + .body("applications[0].vacancyName", equalTo("App RH")); // Filter by interviewScheduled given() @@ -241,7 +241,7 @@ void getAll_withFilter_shouldReturnFilteredResults() { .then() .statusCode(200) .body("totalElements", equalTo(1)) - .body("content[0].vacancyName", equalTo("App Tecnico")); + .body("applications[0].vacancyName", equalTo("App Tecnico")); } @Test