Address the review comment 2
 - Still need to return promise in click(), or we could not test this.