import { of } from 'rxjs'; import { enteredContactPageEpic, contactFetchContactEpic, } from './contact.epic'; import { contactFetchContactsRequest, contactFetchContactsSuccess, setContactContent, } from './contact.actions'; import { enteredContactPage } from 'app/common/store/router/router.actions'; import { createContactPage } from 'app/testUtils/mocks/pageContents.mock'; const mockContactPageContent = { sections: createContactPage(), }; const contactService = { getContacts: () => { return of(mockContactPageContent); }, }; const dependencies = { contact: contactService, }; describe('Contact epic tests', () => { it('returns the correct actions when enteredContactPage is fired', (done) => { const action$ = of(enteredContactPage()); const expectedOutputActions = [ contactFetchContactsRequest(), ]; enteredContactPageEpic(action$) .subscribe((actualOutputActions) => { expect(actualOutputActions).toEqual(expectedOutputActions); done(); }); }); it('returns the correct actions when contactFetchContactRequest is fired', (done) => { const action$ = of(contactFetchContactsRequest()); const expectedOutputActions = [ setContactContent(mockContactPageContent), contactFetchContactsSuccess(), ]; contactFetchContactEpic(action$, null, dependencies) .subscribe((actualOutputActions) => { expect(actualOutputActions).toEqual(expectedOutputActions); done(); }); }); });