/** * Delete an instance that match the provided id * @param id The instance that matches the provided id will be deleted in the database */ protected D delete(final I id) { Preconditions.checkNotNull(id, "The provided id cannot be null"); return repository.delete(id); }
@Test public void testProcess(){ User user = new User(); user.setRole(Role.MODIFIER); Mockito.when(repository.findOne(Mockito.anyString())).thenReturn(user); final DeleteUserInput input = new DeleteUserInput(new String()); final ServiceTask<DeleteUserInput> serviceTask = new ServiceTask<DeleteUserInput>(); serviceTask.setInput(input); final ServiceResult<DeleteUserOutput> serviceResult = service.process(serviceTask); serviceResult.getOutput(); Mockito.verify(repository, Mockito.times(1)).delete(Mockito.anyString()); }
@Test(expected = IllegalArgumentException.class) public void testProcessDeleteLastAdmin(){ User user = new User(); user.setRole(Role.ADMIN); List<User> users = new ArrayList<>(); users.add(user); Mockito.when(repository.findOne(Mockito.anyString())).thenReturn(user); Mockito.when(repository.findAll()).thenReturn(users); final DeleteUserInput input = new DeleteUserInput(new String()); final ServiceTask<DeleteUserInput> serviceTask = new ServiceTask<DeleteUserInput>(); serviceTask.setInput(input); final ServiceResult<DeleteUserOutput> serviceResult = service.process(serviceTask); serviceResult.getOutput(); Mockito.verify(repository, Mockito.times(1)).delete(Mockito.anyString()); }