tests pass using promises