added more unit tests for Promise