import { afterAll, test } from 'vitest' import fs from 'fs/promises' import path from 'path' import { generateIcons } from './index' const distDir = path.resolve(__dirname, 'tmp') afterAll(() => { fs.rm(path.resolve(__dirname, 'tmp'), { recursive: true }) }) test('should generate Astro & React components from SVG files', async () => { // Act await generateIcons(distDir) // Assert: Check if the distribution directory exists try { await fs.stat(distDir) } catch (err) { throw new Error(`Distribution directory does not exist: ${distDir}`) } // Assert: Check if Props.d.ts exists try { await fs.stat(path.join(distDir, 'Props.d.ts')) } catch (err) { throw new Error('Props.d.ts does not exist') } // Assert: Check if an example Astro & React component exists const exampleComponentPathAstro = path.join(distDir, 'Bitcoin.astro') const exampleComponentPathReact = path.join(distDir, 'react', 'Bitcoin.tsx') try { await fs.stat(exampleComponentPathAstro) } catch (err) { throw new Error( `Example Astro component does not exist: ${exampleComponentPathAstro}` ) } try { await fs.stat(exampleComponentPathReact) } catch (err) { throw new Error( `Example React component does not exist: ${exampleComponentPathReact}` ) } })