UNPKG

component-version-update

Version:

Обновляет версию пакета в файлах package.json, CHANGELOG.md с формированием коммита с изменениями

56 lines (50 loc) 2.43 kB
import { Question } from 'inquirer'; import QuestionModule from '../core/QuestionModule'; import { PJSON, ComponentData } from '../core/types'; import fs from 'fs'; import Logger from '../core/Logger'; jest.mock('inquirer'); jest.mock('fs', () => new (require('metro-memory-fs'))()); // const inquirer = require('inquirer'); describe('QuestionModule', () => { const components: PJSON[] = [ { name: '@comp/temp1', version: '1.1.1', description: 'sadsadad' }, { name: '@comp/temp2', version: '2.3.8', description: '00000000' }, ]; beforeEach(() => { require('fs').reset(); fs.mkdirSync('/folder1'); fs.mkdirSync('/folder1/temp1'); fs.writeFileSync('/folder1/temp1/package.json', JSON.stringify(components[0])); fs.mkdirSync('/folder2'); fs.mkdirSync('/folder2/temp2'); fs.writeFileSync('/folder2/temp2/package.json', JSON.stringify(components[1])); }); it('Check grabbing components', async () => { const paths: string[] = ['/folder1', '/folder2']; const questionModule: QuestionModule = new QuestionModule(paths, new Logger()); // inquirer.prompt = jest.fn().mockResolvedValue({ component: 'some@example.com' }); const expectedComponent: ComponentData[] = [ { path: '/folder1/temp1', data: components[0] }, { path: '/folder2/temp2', data: components[1] }, ]; expect(questionModule.components).toEqual(expectedComponent); }); it('Check generate list by render', async () => { const paths: string[] = ['/folder1', '/folder2']; const questionModule: QuestionModule = new QuestionModule(paths, new Logger()); // inquirer.prompt = jest.fn().mockResolvedValue({ component: 'some@example.com' }); const questions: any = questionModule.createQuestions(); const expectedComponent: Object[] = [ { name: `${components[0].name}@${components[0].version} - ${components[0].description}`, value: questionModule.components[0], }, { name: `${components[1].name}@${components[1].version} - ${components[1].description}`, value: questionModule.components[1], }, ]; expect(questions[0].source(null, '')).resolves.toEqual(expectedComponent); }); });