title: Testing NGRX effect that emits action with delay OR does not emit anything
body: <p>I have an NGRX effect that - depending on the state - emits an action with a delay or it emits nothing.
  I want to write a test, covering both situations.</p>
  <p>This is the effect:</p>
  <pre><code>myEffect$ = createEffect(() =&gt;
    this.actions$.pipe(
      ofType(MyAction),
      filter(state =&gt; state.foo === false),
      delay(4000),
      map(state =&gt; myOtherAction())
    )
  );
  </code></pre>
  <p>The test for the situation where it <strong>should emit</strong> the otherAction with the delay works fine:</p>
  <pre><code>describe('emit my action', () =&gt; {
     const action = MyAction();
  
     it('should return a stream with myOtherAction', () =&gt; {
        const scheduler = getTestScheduler();
        scheduler.run(helpers =&gt; {
          // build the observable with the action
          actions = hot('-a', { a: action });
  
          // define what is the expected outcome of the effect
          const expected = {
             b: MyOtherAction()
          };
          helpers.expectObservable(effects.myEffect$).toBe('- 4000ms b', expected);
        });
     });
  });
  </code></pre>
  <p>But I have no clue how to test the other state, where it should <strong>NOT emit</strong> another action (the stream has zero length):</p>
  <pre><code>   it('should return an empty stream', () =&gt; {
        store.setState({
          myFeature: {
             foo: true
          }
        });
        // ???
     });
  </code></pre>
  <p>Please help :)</p>