0

By writing complex mocks I realized, that an Observable.of mock interface implementation with jest-mock-extend doesn't fire. The following test fail with timeout, cause the Observable never fires.

import { mock } from 'jest-mock-extended';
import { of } from 'rxjs';

interface TestInterface {
  dummyProperty: string;
}

describe( 'Test Observable.of mock interface implementation', () => {
  it( 'test Observable of an Interface mock', (done) => {
    const mockTestInterface = mock<TestInterface>();

    of( mockTestInterface ).subscribe( testObject => {
      expect( testObject ).toBeTruthy();
      done();
    })
  })
})

What I'm doing wrong, or overseeing?

Lin Du
  • 88,126
  • 95
  • 281
  • 483
Zsolt
  • 61
  • 3

1 Answers1

1

Try:

import { mock, JestMockExtended } from 'jest-mock-extended';
import { of } from 'rxjs';

interface TestInterface {
  dummyProperty: string;
}

describe('Test Observable.of mock interface implementation', () => {
  it('test Observable of an Interface mock', (done) => {
    JestMockExtended.configure({ ignoreProps: ['schedule'] });
    const mockTestInterface = mock<TestInterface>();
    of(mockTestInterface).subscribe((testObject) => {
      expect(testObject).toBeTruthy();
      done();
    });
  });
});

package versions:

"rxjs": "^6.5.4",
"jest-mock-extended": "^2.0.7",
"jest": "^28.1.3",
Lin Du
  • 88,126
  • 95
  • 281
  • 483