46 lines
1.5 KiB
JavaScript
46 lines
1.5 KiB
JavaScript
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`);
|
|
const testDir = path.join(__dirname, `test/cypress/components`);
|
|
// 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/${file}';
|
|
|
|
describe.skip('<${componentName} />', () => {
|
|
it('TODO: boilerplate', () => {
|
|
// see: https://on.cypress.io/mounting-vue
|
|
cy.createWrapper(${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}`);
|
|
});
|
|
});
|
|
});
|
|
}
|