CassandraFirstUnseenDAO { public Mono<MessageUid> retrieveFirstUnread(CassandraId cassandraId) { return cassandraAsyncExecutor.executeSingleRow( readStatement.bind() .setUUID(MAILBOX_ID, cassandraId.asUuid())) .map(row -> MessageUid.of(row.getLong(UID))); } @Inject  CassandraFirstUnseenDAO(Session session); Mono<Void> addUnread(CassandraId cassandraId, MessageUid uid); Mono<Void> removeUnread(CassandraId cassandraId, MessageUid uid); Mono<Void> removeAll(CassandraId cassandraId); Mono<MessageUid> retrieveFirstUnread(CassandraId cassandraId);  }
@Test void retrieveFirstUnreadShouldReturnEmptyByDefault() { assertThat(testee.retrieveFirstUnread(MAILBOX_ID).hasElement().block()) .isFalse(); }