UNPKG

@yoroi/exchange

Version:

The Exchange package of Yoroi SDK

99 lines 3.1 kB
import { exchangeApiMaker, providers } from './api'; describe('exchangeApiMaker', () => { describe('getBaseUrl', () => { describe('Banxa', () => { beforeEach(() => { jest.clearAllMocks(); }); it('resolves', async () => { const isProduction = true; const partner = 'yoroi'; const providerId = 'banxa'; const deps = { banxaApi: { getBaseUrl: jest.fn().mockReturnValue(jest.fn().mockResolvedValue('banxa-url')) }, encryptusApi: { getBaseUrl: jest.fn().mockReturnValue(jest.fn().mockResolvedValue('encryptus-url')) } }; const api = exchangeApiMaker({ isProduction, partner }, deps); const result = await api.getBaseUrl(providerId); expect(result).toBe('banxa-url'); }); }); describe('Encryptus', () => { beforeEach(() => { jest.clearAllMocks(); }); it('resolves', async () => { const isProduction = true; const partner = 'yoroi'; const providerId = 'encryptus'; const deps = { banxaApi: { getBaseUrl: jest.fn().mockReturnValue(jest.fn().mockResolvedValue('banxa-url')) }, encryptusApi: { getBaseUrl: jest.fn().mockReturnValue(jest.fn().mockResolvedValue('encryptus-url')) } }; const api = exchangeApiMaker({ isProduction, partner }, deps); const result = await api.getBaseUrl(providerId); expect(result).toBe('encryptus-url'); }); it('does not resolve', async () => { const isProduction = true; const partner = 'yoroi'; const providerId = 'none'; const deps = { banxaApi: { getBaseUrl: jest.fn().mockReturnValue(jest.fn().mockResolvedValue('banxa-url')) }, encryptusApi: { getBaseUrl: jest.fn().mockReturnValue(jest.fn().mockResolvedValue('encryptus-url')) } }; const api = exchangeApiMaker({ isProduction, partner }, deps); await expect(async () => await api.getBaseUrl(providerId)).rejects.toThrow('Unknown provider: none'); }); }); }); it('getProviders', async () => { const isProduction = true; const partner = 'yoroi'; const deps = { banxaApi: { getBaseUrl: jest.fn().mockReturnValue(jest.fn().mockResolvedValue('banxa-url')) }, encryptusApi: { getBaseUrl: jest.fn().mockReturnValue(jest.fn().mockResolvedValue('encryptus-url')) } }; const api = exchangeApiMaker({ isProduction, partner }, deps); const result = await api.getProviders(); expect(result).toEqual(providers); }); it('should build without dependencies (coverage only)', () => { const isProduction = true; const partner = 'yoroi'; const api = exchangeApiMaker({ isProduction, partner }); expect(api).toBeDefined(); }); }); //# sourceMappingURL=api.test.js.map