title: Angular2 testing a rejected promise with fakeAsync
body: <p>I'm trying to test a service I've built that does some async work in behind the scenes.  Keep in mind I'm using mocks that are immediately resolving a promise so no real async work actually happens.</p>
  
  <p>My test looks like this:</p>
  
  <pre><code>it('should reject promise when condition is met',
    inject([MyService], fakeAsync((myService: MyService) =&gt; {
      let rejected = false;
  
      myService.doSomeAsyncWork().catch(() =&gt; {
        rejected = true;
      });
      tick();
  
      expect(rejected).toBe(true);
    }))
  );
  </code></pre>
  
  <p>When I run this I get the following error:</p>
  
  <pre><code>Error: 2 timer(s) still in the queue.
  </code></pre>
  
  <p>If I change tick() to be tick(1000) then it tells me only 1 timer is still in the queue.  If I call tick() multiple times it makes no difference.</p>
  
  <p>What am I doing wrong?</p>
  
  <p>Thanks!</p>