basic promises with tests