44 lines
1.7 KiB
Java
44 lines
1.7 KiB
Java
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");
|
|
}
|
|
}
|