title: mat-table not populated with data in test
body: <p>As the title suggests, i am trying to test a method that fetches data from an api and then populates the mat-table with the data from the returned observable. However the mat-table is not populated; logging in the console the table html displays the table's html, but with the "<strong>tbody</strong>" tag empty, hence unpopulated. </p>
  
  <p>The test error reads:
  <strong>" Type    ' to contain 'Vanilla Sky'"</strong></p>
  
  <p>Component.Spec</p>
  
  <pre><code>it('should display the film info in table', fakeAsync(() =&gt; {
      const searchResults = new Array&lt;ISearchItem&gt;();
      let filmMock = &lt;ISearchItem&gt;{
          imdbID: 'tt0259711',
          Title: 'Vanilla Sky',
          Year: '2001',
          Type: 'movie',
          Poster: 'https://m.media-amazon.com/images/M/MV5BYzFlMTJjYzUtMWFjYy00NjkyLTg1Y2EtYmZkMjdlOGQ1ZGYwL2ltYWdlXkEyXkFqcGdeQXVyMTQxNzMzNDI@._V1_SX300.jpg'
      };
  
      searchResults.push(filmMock);
  
      let searchResponse = &lt;ISearchResponse&gt;{
          Search: searchResults,
          totalResults: '1',
          Response: 'True'
      };
  
      component.currentPaginationData = {
          length: 1,
          pageIndex: 1,
          pageSize: 10,
          previousPageIndex: 0
      }
  
      const imdbServiceStub: ImdbService = fixture.debugElement.injector.get(ImdbService);
      let searchResponseObs = of(searchResponse);
      spyOn(imdbServiceStub, 'searchImdbFilmDatabase').and.returnValue(of(searchResponseObs));
  
      component.searchDatabaseByKeyword('sky', true);
  
      fixture.detectChanges();
      tick();
      fixture.detectChanges();
  
      table = fixture.debugElement.query(By.css('#filmList')).nativeElement;
  
      console.log(table);
  
      expect(imdbServiceStub.searchImdbFilmDatabase).toHaveBeenCalled();
      expect(table.innerText).toContain(filmMock.Title);
  }));
  </code></pre>
  
  <p>Component:</p>
  
  <pre><code> searchDatabaseByKeyword(searchTerm: string, init?: boolean) {
          let displayData: boolean = false;
          let searchDbSub = this.imdbService.searchImdbFilmDatabase(searchTerm, this.currentPaginationData)
              .pipe(
                  tap((data: ISearchResponse) =&gt; {
                      displayData = !(data.Response === 'False');
                      this.numberOfResults = parseInt(data.totalResults);
  
                      if (init) {
                          this.currentPaginationData = {
                              length: this.numberOfResults,
                              pageIndex: 1,
                              pageSize: 10,
                              previousPageIndex: 0
                          }
                      }
                  }),
                  map((data: ISearchResponse) =&gt; {
                      return data.Search
                  })
              )
              .subscribe((value: Array&lt;ISearchItem&gt;) =&gt; {
                  if (value &amp;&amp; displayData) {
                      this.currentKeyword = searchTerm;
                      this.searchResults = value;
  
                      this.dataSource = new MatTableDataSource(this.searchResults);
                      this.dataSource.sort = this.sort;
                      this.paginator.length = this.numberOfResults;
  
                      if (init) {
                          this.dataSource.paginator = this.paginator;
                          this.paginator.pageIndex = this.currentPaginationData.pageIndex;
                          this.paginator.pageSize = this.currentPaginationData.pageSize;
                      }
                  }
              }, (error: Error) =&gt; {
                  throw error;
              });
  
          this.subs.push(searchDbSub);
      }
  </code></pre>
  
  <p>Service:</p>
  
  <pre><code>searchImdbFilmDatabase(searchTerm: string, paginationData?: IPaginatorData): Rx.Observable&lt;any&gt; {
  
      let baseUrl = this.searchFilmDatabaseEp + "&amp;s=" + searchTerm;
      baseUrl += (paginationData) ? '&amp;page=' + paginationData.pageIndex : '';
      baseUrl += '&amp;r=json&amp;type=movie';
  
      return this.http.get(baseUrl).pipe(
          tap((data: ISearchResponse) =&gt; {
  
              let tmp = this.store.select('searchReducer', 'searchData');
              console.log(tmp);
  
          }, (error: Error) =&gt; {
              throw error;
          })
  
      );
  }
  </code></pre>