import { describe, it, expect } from 'vitest'; import path from 'path'; import fs from 'fs'; import { parseDat, verifyRomAgainstDat } from '../../src/services/datVerifier'; const fixturesDir = path.join(__dirname, '..', 'fixtures'); const datPath = path.join(fixturesDir, 'dats', 'sample-no-intro.dat.xml'); const simpleRom = path.join(fixturesDir, 'simple-rom.bin'); // Ejecutar siempre las pruebas de datVerifier. Dependencias externas (p.ej. // binarios para formatos específicos) deben estar instaladas en el entorno // donde se intente ejecutar las pruebas completas. describe('services/datVerifier', () => { it('parsea DAT xml', () => { const xml = fs.readFileSync(datPath, 'utf8'); const parsed = parseDat(xml); expect(parsed).toBeDefined(); }); it('verifica rom contra DAT', async () => { const stats = fs.statSync(simpleRom); const romMeta = { filename: 'simple-rom.bin', size: stats.size, md5: 'placeholder', sha1: 'placeholder', crc32: 'placeholder', } as any; const xml = fs.readFileSync(datPath, 'utf8'); const parsed = parseDat(xml); const res = await verifyRomAgainstDat(romMeta, parsed); expect(res).toBeDefined(); }); });