import { Observable, of } from 'rxjs'; import { createPoolPartners, createPoolPartnersDTO } from 'app/testUtils/mocks/poolPartners.mock'; import { take } from 'rxjs/operators'; import { PoolPartnersService } from 'app/modules/poolPartners/services/poolPartners.service'; jest.mock('app/common/services/config/config.service', () => ({ getMaerskApiUrl: () => 'https://test-maersk-api', })); describe('PoolPartners service tests', () => { const mockApiClient = { getPoolPartners: jest.fn(), }; const sut = new PoolPartnersService(mockApiClient); const poolPartnersDTO = createPoolPartnersDTO()[1]; const poolPartners = createPoolPartners()[1]; beforeEach(() => { mockApiClient.getPoolPartners = jest.fn(() => of(poolPartnersDTO)); }); it('returns observable of poolpartners from particular pool', () => { expect(sut.getPoolPartners(1)).toBeInstanceOf(Observable); }); it('executes fetching pool partners', (done) => { sut.getPoolPartners(1).pipe(take(1)).subscribe((data) => { expect(data).toEqual(poolPartners); done(); }); }); });