title: Prevent Protractor from finishing before promise has been resolved
body: <p>I have some async WebDriverJS processing that is being skipped because the test is completing before they are are being resolve.  How do I get protractor to wait ?</p>
  
  <p>e.g.: (both of these tests should fail (<a href="https://github.com/angular/protractor/issues/601">potential ticket submitted</a>)</p>
  
  <pre><code>  it('test promise ', function (done) {
        var d = protractor.promise.defer();
        d.fulfill(true)
        d.promise.then(function (item) {
            console.log("fulfill", item);
        });
        expect(d.promise)
            .toBe(false);
        console.log("test done");
    });
  
    it('test promise with timeout ', function (done) {
        var d = protractor.promise.defer();
        setTimeout(function () {
            console.log("fulfill");
            d.fulfill(true)
        }, 3000);
  
        d.promise.then(function (item) {
            console.log("fulfill", item);
        });
        expect(d.promise)
            .toBe(false);
        console.log("test done");
    });
  </code></pre>
  
  <p>Let me know if you need more information ... ? </p>
  
  <p>This will return true.. if you remove the timeout and just set fulfill it will work...</p>