add tests for Deferred.when