title: Jasmine .and.throwError() is not caught by .catch in original code
body: <p>I'm writing a test for a function, and have to trigger the .catch part of that function, but Jasmine's spiesfor some reason can't do that.
  Method to be tested:</p>
  
  <pre><code>foo(){
  doStuff()
  .catch((error) =&gt; {
      //stuff I still have to test
      bar()
  })
  </code></pre>
  
  <p>}</p>
  
  <p>doStuff() returns a Promise (hence the .catch-Setup), but for this test it's supposed to throw an error.</p>
  
  <p>Here is my test:</p>
  
  <pre><code>it('tests the error handling of foo',(done) =&gt;{
  spyOn(object,'foo').and.throwError('Test Error');
  
  object.foo();
  
  expect(object.bar).toHaveBeenCalled();
  done();
  </code></pre>
  
  <p>});</p>
  
  <p>Is the way I'm approaching this wrong? Is that an error with Jasmine? (Google didn't find anything)
  [I stick to the (done) setup because almost all other tests are async and I want to keep the style]</p>
  
  <p>[I cannot change the code to be tested]</p>