add `expectDone` and `expectThen`