salix-front/generate-tests.js

46 lines
1.5 KiB
JavaScript
Raw Normal View History

const fs = require('fs');
const path = require('path');
// Ruta de la carpeta de componentes
// Ruta de la carpeta de pruebas
['common', 'ui'].forEach((folder) => {
generateTest(folder);
});
function generateTest(type) {
const componentsDir = path.join(__dirname, `src/components/${type}`);
const testDir = path.join(__dirname, `test/cypress/components/${type}`);
// Leer todos los archivos en la carpeta de componentes
fs.readdir(componentsDir, (err, files) => {
if (err) return console.error('Error leyendo la carpeta de componentes:', err);
// Filtrar solo archivos .vue
const vueFiles = files.filter((file) => file.endsWith('.vue'));
vueFiles.forEach((file) => {
const componentName = path.basename(file, '.vue');
const testFileName = `${componentName}.spec.js`;
const testFilePath = path.join(testDir, testFileName);
// Contenido del archivo de prueba
const testFileContent = `
import ${componentName} from 'src/components/${type}/${file}';
describe('<${componentName} />', () => {
it('TODO: boilerplate', () => {
// see: https://on.cypress.io/mounting-vue
cy.vnMount(${componentName});
});
});
`;
// Escribir el archivo de prueba
fs.writeFile(testFilePath, testFileContent, (err) => {
if (err)
return console.error('Error escribiendo el archivo de prueba:', err);
console.log(`Archivo de prueba generado: ${testFileName}`);
});
});
});
}