title: Observable.fromPromise empty during unit testing
body: <p><code>loadAdList$</code> is an Observable that taps into the <code>actions$</code> stream:</p>
  
  <pre><code>loadAdList$: Observable&lt;Action&gt; = this.actions$
      .ofType&lt;adActions.Load&gt;(adActions.LOAD)
      .switchMap((action) =&gt; {
        return Observable.fromPromise(store.findAll('ad', action.payload)
          .then((ads) =&gt; {
            return new adActions.LoadSuccess(ads);
          })
          .catch((err) =&gt; {
            return new adActions.LoadFail(err);
          }));
      });
  </code></pre>
  
  <p>It works in the browser, there is no problem with it. However, I want to unit test it as well:</p>
  
  <pre><code>actions$ = hot('-a', { a: loadAction });
  const storeResponse = Promise.resolve(mockAds);
  const expected$ = cold('-c', { c: loadSuccessAction });
  
  spyOn(store, 'findAll').and.returnValue(storeResponse);
  
  expect(effects.loadAdList$).toBeObservable(expected$);
  </code></pre>
  
  <p>The test fails with the following:</p>
  
  <pre><code>Expected 
  
  to deep equal 
      {"frame":10,"notification":{"kind":"N","value":{"payload":"[
      ...
  </code></pre>
  
  <p>I believe the issue has something to do with the <code>store.findAll</code> method returning a promise. This is based on the results of the following test:</p>
  
  <pre><code>.switchMap((action) =&gt; {
    // This test will pass
    return Observable.from([new adActions.LoadSuccess(mockAds)]);
  
    // This test will fail
    return Observable.fromPromise(Promise.resolve(new adActions.LoadSuccess(mockAds)));
  
  });
  </code></pre>