This project: https://www.npmjs.org/package/supertest-as-promised allows to use promises instead of putting calls inside calls for tests. May be it is worth to take look.