Amidery/project-lvl2-s451

View on GitHub
__tests__/gendiff.test.js

Summary

Maintainability
A
0 mins
Test Coverage
import fs from 'fs';
import path from 'path';
import gendiff from '../src';

const pathToTests = '__tests__/__fixtures__/';

const files = [
  ['before.json', 'after.json', 'pretty', 'resultPretty.txt'],
  ['before.yml', 'after.yml', 'pretty', 'resultPretty.txt'],
  ['before.ini', 'after.ini', 'pretty', 'resultPretty.txt'],
  ['beforeComplex.json', 'afterComplex.json', 'pretty', 'resultComplexPretty.txt'],
  ['beforeComplex.yml', 'afterComplex.yml', 'pretty', 'resultComplexPretty.txt'],
  ['beforeComplex.ini', 'afterComplex.ini', 'pretty', 'resultComplexPretty.txt'],
  ['beforeComplex.json', 'afterComplex.json', 'plain', 'resultComplexPlain.txt'],
  ['beforeComplex.yml', 'afterComplex.yml', 'plain', 'resultComplexPlain.txt'],
  ['beforeComplex.ini', 'afterComplex.ini', 'plain', 'resultComplexPlain.txt'],
  ['beforeComplex.json', 'afterComplex.json', 'json', 'resultComplexJson.txt'],
  ['beforeComplex.yml', 'afterComplex.yml', 'json', 'resultComplexJson.txt'],
  ['beforeComplex.ini', 'afterComplex.ini', 'json', 'resultComplexJson.txt'],
];

test.each(files)('compare files', (filepath1, filepath2, format, pathtoresult) => {
  const expectedResult = fs.readFileSync(path.join(pathToTests, pathtoresult), 'utf-8').trim();
  const actualResult = gendiff(
    path.join(pathToTests, filepath1), path.join(pathToTests, filepath2), format,
  );
  expect(actualResult).toBe(expectedResult);
});