Files
SuperBizAgent-java/src/test/java/com/superbiz/agent/controller/FeedbackControllerTest.java
T

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");
}
}