feat(trace): bind feedback to runs

This commit is contained in:
zhuyongxin
2026-07-10 20:29:56 +08:00
parent 027aed1eeb
commit d928a1968a
14 changed files with 527 additions and 23 deletions
@@ -0,0 +1,43 @@
package com.superbiz.agent.controller;
import com.superbiz.agent.dto.FeedbackRequest;
import com.superbiz.agent.dto.FeedbackResponse;
import com.superbiz.agent.service.FeedbackService;
import org.junit.jupiter.api.Test;
import org.springframework.http.ResponseEntity;
import org.springframework.test.util.ReflectionTestUtils;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
class FeedbackControllerTest {
@Test
void submitFeedbackPassesRunIdToService() {
FeedbackController controller = new FeedbackController();
FeedbackService feedbackService = mock(FeedbackService.class);
ReflectionTestUtils.setField(controller, "feedbackService", feedbackService);
FeedbackRequest request = new FeedbackRequest();
request.setSessionId("session-1");
request.setRunId("run-1");
request.setFeedback("useful");
when(feedbackService.submitFeedback("session-1", "run-1", "useful"))
.thenReturn(FeedbackResponse.builder()
.success(true)
.runId("run-1")
.fallbackToLatestRun(false)
.build());
ResponseEntity<FeedbackResponse> response = controller.submitFeedback(request);
assertEquals(200, response.getStatusCode().value());
assertTrue(response.getBody().isSuccess());
assertEquals("run-1", response.getBody().getRunId());
verify(feedbackService).submitFeedback("session-1", "run-1", "useful");
}
}