@Test public void testProcess(){ final SoapProject soapProject = SoapProjectGenerator.generateSoapProject(); final UpdateSoapProjectInput input = UpdateSoapProjectInput.builder() .projectId(soapProject.getId()) .project(soapProject) .build(); final ServiceTask<UpdateSoapProjectInput> serviceTask = new ServiceTask<>(input); Mockito.when(repository.findOne(Mockito.anyString())).thenReturn(soapProject); Mockito.when(repository.save(Mockito.any(SoapProject.class))).thenReturn(soapProject); final ServiceResult<UpdateSoapProjectOutput> result = service.process(serviceTask); final UpdateSoapProjectOutput output = result.getOutput(); final SoapProject returnedSoapProject = output.getProject(); Mockito.verify(repository, Mockito.times(1)).save(Mockito.any(SoapProject.class)); Assert.assertEquals(soapProject.getId(), returnedSoapProject.getId()); Assert.assertEquals(soapProject.getName(), returnedSoapProject.getName()); Assert.assertEquals(soapProject.getDescription(), returnedSoapProject.getDescription()); Assert.assertEquals(soapProject.getCreated(), returnedSoapProject.getCreated()); Assert.assertEquals(soapProject.getUpdated(), returnedSoapProject.getUpdated()); } }