### Question:
GraphQLEventSender implements EventSender { @Override public <K extends Entity.Key<S>, S extends Specification> CompletableFuture<Void> send(Event<K, S> event) { var mutation = converter.convert(event); return executor.execute(mutation).thenApply(x -> null); } GraphQLEventSender(ApolloClient client); @Override CompletableFuture<Void> send(Event<K, S> event); @Override void close();  }### Answer:
@Test public void test() { when(converter.convert(event)).thenReturn(mutation); when(executor.execute(mutation)).thenReturn(responseFuture); Function<Response, Void> any = any(); when(responseFuture.thenApply(any)).thenReturn(voidFuture); var result = underTest.send(event); assertThat(result, is(voidFuture)); }