UNPKG

pmarket-cli

Version:
59 lines (51 loc) 1.69 kB
import { existsSync, mkdirSync, unlink, writeFileSync } from 'fs'; import { ConfigService } from './config.service'; jest.mock('os'); const polyCliDir = '.pmarket-cli'; const configJson = 'config.json'; const configPath = polyCliDir + '/' + configJson; describe('ConfigService', () => { let configService: ConfigService; beforeAll(() => { const config = { apiKey: 'a', apiSecret: 'b', passphrase: 'c', rpcProvider: 'd', privateKey: 'e', }; if (!existsSync(polyCliDir)) { mkdirSync(polyCliDir); } writeFileSync(configPath, JSON.stringify(config, null, 4)); }); beforeEach(() => { configService = new ConfigService(); }); afterAll(() => { //delete configPath unlink(configPath, (err) => { if (err) { console.error(err); return; } }); }); it('should return true for isConfigAvailable', async () => { expect(configService.isConfigAvailable()).toBe(true); }); it('should return config with set of mocked values', async () => { expect(configService.get('apiKey')).toBe('a'); expect(configService.get('apiSecret')).toBe('b'); expect(configService.get('passphrase')).toBe('c'); expect(configService.get('rpcProvider')).toBe('d'); expect(configService.get('privateKey')).toBe('e'); }); it('should return subset of mocked values', async () => { expect(configService.getCreds()).toStrictEqual({ key: 'a', secret: 'b', passphrase: 'c' }); }); });