// utils/allure/allure-extension.ts
import fs from 'fs';
import path from 'path';
import { execSync } from 'child_process';

export async function cleanAllure() {
  const resultsPath = path.join( __dirname, '..', 'allure-results' );
  const reportPath = path.join( __dirname, '..', 'allure-report' );

  const deleteFolder = ( folderPath ) => {
    if ( fs.existsSync( folderPath ) ) {
      fs.rmSync( folderPath, { recursive: true, force: true } );
      console.log( `Deleted old ${ folderPath }` );
    }
  };

  deleteFolder( resultsPath );
  deleteFolder( reportPath );
}

export async function generateAndOpenAllure() {
  try {
    console.log( 'Generating Allure Report…' );
    execSync( 'allure generate --single-file ./allure-results --clean', { stdio: 'inherit' } );
    console.log( 'Opening Allure Report…' );
    execSync( 'npx allure open ./allure-report', { stdio: 'inherit' } );
  } catch ( err ) {
    console.error( 'Allure report generation failed:', err );
  }
}
