@dxdeveloperexperience/hygie
Version:
Hygie is an easy-to-use Open-Source REST API allowing you to interact with GIT events. This NestJS API expose a set of customizable rules to automate your project's life cycle.
72 lines (60 loc) • 2.17 kB
text/typescript
import { Test, TestingModule } from '@nestjs/testing';
import { HttpService } from '@nestjs/common';
import { MockHttpService } from '../__mocks__/mocks';
import { throwError } from 'rxjs';
import { logger } from '../logger/logger.service';
import { Check } from './utils';
describe('Check Utils', () => {
let app: TestingModule;
let httpService: HttpService;
beforeAll(async () => {
app = await Test.createTestingModule({
providers: [{ provide: HttpService, useClass: MockHttpService }],
}).compile();
httpService = app.get(HttpService);
});
beforeEach(() => {
jest.clearAllMocks();
});
describe('CheckInternet', () => {
it('Should return true', async () => {
expect(await Check.checkInternet(httpService)).toBe(true);
});
it('Should return false', async () => {
httpService.get = jest
.fn()
.mockImplementationOnce(() => throwError('Error 404'));
expect(await Check.checkInternet(httpService)).toBe(false);
});
});
describe('checkIfFileExist', () => {
it('Should return true', async () => {
const fs = require('fs-extra');
fs.existsSync = jest.fn().mockReturnValue(true);
logger.error = jest.fn().mockName('logger.error');
expect(Check.checkIfFileExist('some/file.ext')).toBe(true);
expect(logger.error).not.toBeCalled();
});
it('Should return false', async () => {
const fs = require('fs-extra');
fs.existsSync = jest.fn().mockReturnValue(false);
logger.error = jest.fn().mockName('logger.error');
expect(Check.checkIfFileExist('some/file.ext')).toBe(false);
expect(logger.error).toBeCalled();
});
});
describe('checkNeededFiles', () => {
it('Should return true', async () => {
Check.checkIfFileExist = jest.fn().mockReturnValue(true);
expect(Check.checkNeededFiles(['some/file.ext', 'other/file.ext'])).toBe(
true,
);
});
it('Should return false', async () => {
Check.checkIfFileExist = jest.fn().mockReturnValue(false);
expect(Check.checkNeededFiles(['some/file.ext', 'other/file.ext'])).toBe(
false,
);
});
});
});