У меня проблема с тем, что когда я пытаюсь when(linkingTicketsService.getLinkedTicketDetails(list)).thenReturn(linkingTicketsResponseList);
в моем тесте, он все еще запускает метод linkingTicketsService.getLinkedTicketDetails (list), не должен ли он просто перенастроить на макет, который я подготовил, а НЕ запускать методсам? Я пробовал Autowiring LinkingTicketsService, который я вижу в предыдущем посте, но это не помогло, совет? спасибо
Код теста:
@RunWith(MockitoJUnitRunner.class)
@SpringBootTest(classes = LinkingTicketsService.class)
public class LinkingTicketsServiceTest {
@Autowired
LinkingTicketsService linkingTicketsService;
@Mock
WorkOrdersHierarchyRepo workOrdersHierarchyRepo;
@Before
public void setup() {
linkingTicketsService = new LinkingTicketsService(
workOrdersHierarchyRepo,
workOrderPTRViewRepo,
ticketEngagementRepo,
productMasterRepo
);
}
@Test
public void getLinkedTicketsByTicketNumber() {
WorkOrderPTRView workOrderPTRView1 = new WorkOrderPTRView();
etc...
Optional<WorkOrderPTRView> workOrderPTRViewOptional = Optional.of(workOrderPTRView1);
List<LinkingTicketsResponse> linkingTicketsResponseList = new ArrayList<>();
LinkingTicketsResponse response = new LinkingTicketsResponse();
etc...
List<Long> list = new ArrayList<>();
list.add(123L);
when(workOrderPTRViewRepo.findWorkOrderPTRViewByPartnerTicketNumber("567")).thenReturn(workOrderPTRViewOptional);
when(linkingTicketsService.getLinkedTicketDetails(list)).thenReturn(linkingTicketsResponseList);
LinkingTicketsResponse linkingTicketsResponse = linkingTicketsService.getLinkedTicketsByTicketNumber("567");
assertThat(linkingTicketsResponse.getPartnerTicketNumber(), equalTo("123"));
}
}
Методы:
public LinkingTicketsResponse getLinkedTicketsByTicketNumber(String ticketNumber) {
List<LinkingTicketsResponse> linkingTicketsResponseList = new ArrayList<>();
Optional<WorkOrderPTRView> workOrderPTRViewOptional;
//getting work order number
workOrderPTRViewOptional = workOrderPTRViewRepo.findWorkOrderPTRViewByPartnerTicketNumber(ticketNumber);
if (workOrderPTRViewOptional.isPresent()) {
List<Long> workOrderNumbers = new ArrayList<>();
workOrderNumbers.add(workOrderPTRViewOptional.get().getOrderId());
linkingTicketsResponseList = getLinkedTicketDetails(workOrderNumbers);
} else {
LinkingTicketsResponse linkingTicketsResponse = new LinkingTicketsResponse();
linkingTicketsResponse.setStatusCode(200);
linkingTicketsResponse.setStatus("Failed.");
linkingTicketsResponse.setStatusMessage("Could not find record for Work Order PTR");
linkingTicketsResponseList.add(linkingTicketsResponse);
}
return linkingTicketsResponseList.get(0);
}