feat(trace): bind feedback to runs
This commit is contained in:
@@ -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");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user