giovandyyg
Version:
"Lee y analiza archivos en formato Markdown, para verificar los links que contengan y reportan algunas estadísticas."
172 lines (154 loc) • 6.76 kB
JavaScript
const data = require('./testData.spec.js');
// import arrayLinksValidate from './testData.spec.js';
const path = require('path');
const cwd = process.cwd();
const myFunction =require('../src/md-Links/utils1.js');
const ruta3 = 'C:\\Users\\HP\\MD-Links\\LIM013-fe-md-links\\test\\prueba';
const ruta4 = './test/prueba/texto';
describe('pathAbsolute es funcion o no', () => {
it('debería ser una función', () => {
expect(typeof myFunction.pathAbsolute).toBe('function');
});
});
describe('Testing para saber si la ruta es absoluta', () => {
it('debería dar true si es ruta absoluta', () => {
expect(myFunction.pathAbsolute(path.join(cwd, './src'))).toBe(true);
});
it('debería dar false si es ruta relativa', () => {
expect(myFunction.pathAbsolute('../prueba/yesenia.md')).toBe(false);
});
});
describe('Convertir ruta relativa a ruta absoluta', () => {
it('transAbsolute debería ser una función', () => {
expect(typeof myFunction.transAbsolute).toBe('function');
});
it('debería convertir a ruta absoluta', () => {
// console.log(transAbsolute('..\PRUEBA2.md'));
expect(myFunction.transAbsolute('.\\test\\prueba\\yesenia.md')).toBe('C:\\Users\\HP\\MD-links\\LIM013-fe-md-links\\test\\prueba\\yesenia.md');
});
});
describe('Testing para saber si la ruta es directorio', () => {
it('isDirectory debe ser una función', () => {
expect(typeof myFunction.pathIsDirectory).toBe('function');
});
it('isDirectory debería dar true si es directorio', () => {
expect(myFunction.pathIsDirectory('C:\\Users\\HP\\MD-Links\\LIM013-fe-md-links\\test\\prueba')).toBe(true);
});
it('isDirectory debería dar false si es archivo', () => {
expect(myFunction.pathIsDirectory('C:\\Users\\HP\\MD-Links\\LIM013-fe-md-links\\test\\prueba\\yesenia.md')).toBe(false);
});
});
describe('Testing para saber si es archivo', () => {
it('isFile debería ser una función', () => {
expect(typeof myFunction.pathIsFile).toBe('function');
});
it('isFile debería dar true si es un archivo', () => {
expect(myFunction.pathIsFile('C:\\Users\\HP\\MD-Links\\LIM013-fe-md-links\\test\\prueba\\yesenia.md')).toBe(true);
});
});
describe('Testing para saber cual es la extensión del archivo es', () => {
it('typeMarkdown debería ser un función', () => {
expect(typeof myFunction.typeMarkdown).toBe('function');
});
it('typeMarkdown debe identificar la extensión de esta ruta: .md', () => {
expect(myFunction.typeMarkdown('C:\\Users\\HP\\MD-Links\\LIM013-fe-md-links\\test\\prueba\\yesenia.md')).toBe('.md');
});
});
describe('Testing para saber cual es la extensión del archivo es', () => {
it('typeMarkdown debería ser un función', () => {
expect(typeof myFunction.typeMarkdown).toBe('function');
});
it('typeMarkdown debe identificar la extensión de esta ruta: .md', () => {
expect(myFunction.typeMarkdown('prueba1.md')).toBe('.md');
});
it('typeMarkdown debe identificar la extensión de esta ruta: .md', () => {
expect(myFunction.typeMarkdown('README.md')).toBe('.md');
});
it('typeMarkdown debe identificar la extensión de esta ruta: .js', () => {
expect(myFunction.typeMarkdown('index.js')).toBe('.js');
});
});
describe('getFilesAndDirectories', () => {
it('should be a function', () => {
expect(typeof myFunction.getFilesAndDirectories).toBe('function');
});
it('should return object links', () => {
expect(myFunction.getFilesAndDirectories(ruta3)).toEqual([
'C:\\Users\\HP\\MD-Links\\LIM013-fe-md-links\\test\\prueba\\Documento',
'C:\\Users\\HP\\MD-Links\\LIM013-fe-md-links\\test\\prueba\\texto',
'C:\\Users\\HP\\MD-Links\\LIM013-fe-md-links\\test\\prueba\\Varios',
'C:\\Users\\HP\\MD-Links\\LIM013-fe-md-links\\test\\prueba\\yesenia.md'
]);
});
describe('getFiles', () => {
it('should be a function', () => {
expect(typeof myFunction.getFiles).toBe('function');
});
it('should return all files', () => {
expect(myFunction.getFiles('prueba1.md')).toEqual([ 'C:\\Users\\HP\\MD-links\\LIM013-fe-md-links\\prueba1.md' ]);
});
it('should return all files', () => {
expect(myFunction.getFiles('README.md')).toEqual([ 'C:\\Users\\HP\\MD-links\\LIM013-fe-md-links\\README.md' ]);
});
it('should return all files', () => {
expect(myFunction.getFiles(ruta4)).toEqual([]);
});
});
});
describe('getlinks', () => {
it('should be a function', () => {
expect(typeof myFunction.getLinks).toBe('function');
});
it('should return object links', () => {
expect(myFunction.getLinks('./test/prueba/Documento/prueba4.md')).toEqual([
{
href: 'https://www.figma.com/',
text: 'https://www.figma.com/',
file: 'C:\\Users\\HP\\MD-links\\LIM013-fe-md-links\\test\\prueba\\Documento\\prueba4.md'
}]);
});
it('should return object links', () => {
expect(myFunction.getLinks(['./test/prueba/varios/pruebaVarios.md'][0])).toEqual([
{
href: 'https://es.wikipedia.org/wiki/Margaret_Hamilton_(cient%C3%ADfica)',
text: 'https://es.wikipedia.org/wiki/Margaret_Hamilton_(cient%C3%ADfica)',
file: 'C:\\Users\\HP\\MD-links\\LIM013-fe-md-links\\test\\prueba\\varios\\pruebaVarios.md'
},
{
href: 'https://es.wikipedia.org/wiki/Carol_Shaw',
text: 'https://es.wikipedia.org/wiki/Carol_Shaw',
file: 'C:\\Users\\HP\\MD-links\\LIM013-fe-md-links\\test\\prueba\\varios\\pruebaVarios.md'
}]);
});
});
describe('Validar los Link de un archivo .MD', () => {
it('is a function: optionValidate', () => {
expect(typeof myFunction.optionValidate).toBe('function');
});
it('Links encontrados - retornar un array: file, href, status, statusMessage y text',
(done) => {
myFunction
.optionValidate('prueba1.md')
.then((resp) => {
expect(resp).toEqual(data.arrayLinksValidate);
done();
});
});
});
// describe('validateLinks', () => {
// it('Debería ser una función', () => {
// expect(typeof myFunction.optionValidate).toBe('function');
// });
// it('debería retornar un array de objetos con las propiedades href, text, file, status, statusText', (done) => {
// optionValidate(data.arrayLinks).then((resolve) => {
// expect(resolve).toEqual(data.arrayLinksValidate);
// done();
// });
// });
// it('Debería retornar FAIL si la URL no es válida', (done) => {
// optionValidate(data.error).then((resolve) => {
// expect(resolve).toEqual(data.rep);
// done();
// });
// });
// });