component-version-update
Version:
Обновляет версию пакета в файлах package.json, CHANGELOG.md с формированием коммита с изменениями
56 lines (50 loc) • 2.43 kB
text/typescript
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);
});
});