import { of } from 'rxjs'; import { MarketService } from 'app/modules/markets/services/market.service'; import { createMarkets } from 'app/testUtils/mocks/market.mock'; import { take } from 'rxjs/operators'; describe('Markets service tests', () => { const mockApiClient = { getMarkets: jest.fn(), }; const UNKNOWN_POOL_ID = 6666666; const sut = new MarketService(mockApiClient); it('executes fetching markets', (done) => { const marketsApiResponseMock = createMarkets(); const poolId = 1; mockApiClient.getMarkets = jest.fn((poolId) => of(marketsApiResponseMock[poolId] || [])); sut.getMarkets(poolId).pipe(take(1)).subscribe((data) => { expect(data).toEqual(marketsApiResponseMock[poolId]); done(); }); }); it('returns empty array for fetching markets for unknown poolId', () => { const expectedMarkets = []; mockApiClient.getMarkets = jest.fn((poolId) => of(expectedMarkets[poolId] || [])); sut.getMarkets(UNKNOWN_POOL_ID).pipe(take(1)).subscribe((data) => expect(data).toEqual(expectedMarkets)); }); });