Testable CLIs with promises