Здесь работает только первый Mokcito.when, в результате чего он возвращает ноль вместо объекта.
Я возвращаю два, когда as, внутри служебного метода вызываются две функции JPA.
@Test
public void testEditComplaintStatusDetail() {
long id = 1;
String status = "Investigation Complete";
EmergencyComplaint editedComplaint = new EmergencyComplaint(id, "No dogs to feed", "Investigation Complete");
when(emergencyComplaintRepository.findById(id)).thenReturn(Optional.of(emergencyComplaint));
when(emergencyComplaintRepository.save(editedComplaint)).thenReturn(editedComplaint);
assertEquals(emergencyComplaintService.editComplaintStatusDetails(status, id), editedComplaint);
}
Сервис
@Override
public EmergencyComplaint findComplaintDetailsById(long id) {
return emergencyComplaintDAO.findById(id);
}
@Override
public EmergencyComplaint editComplaintStatusDetails(String status, long id) {
EmergencyComplaint complaint = findComplaintDetailsById(id);
complaint.setStatus(status);
return emergencyComplaintDAO.save(complaint);
}
DAO
@Override
public EmergencyComplaint findById(long id) {
return emergencyComplaintRepository.findById(id).orElse(null);
}
@Override
public EmergencyComplaint save(EmergencyComplaint emergencyComplaint) {
return emergencyComplaintRepository.save(emergencyComplaint);
}
введите описание изображения здесь