/**
 * EU-LP Biometric Verification Tests
 */

import { describe, it, expect } from 'vitest';
import { performBiometricVerification } from './biometric-verification';

describe('Biometric Verification', () => {
  describe('performBiometricVerification', () => {
    it('should verify face image', async () => {
      const options = {
        faceImage: Buffer.from('test-face-image'),
        referenceFaceImage: Buffer.from('test-reference-face-image'),
      };

      const result = await performBiometricVerification(options);

      expect(result.faceMatch).toBeDefined();
      expect(result.faceMatchScore).toBeDefined();
    });

    it('should verify fingerprint', async () => {
      const options = {
        fingerprint: Buffer.from('test-fingerprint'),
        referenceFingerprint: Buffer.from('test-reference-fingerprint'),
      };

      const result = await performBiometricVerification(options);

      expect(result.fingerprintMatch).toBeDefined();
      expect(result.fingerprintMatchScore).toBeDefined();
    });

    it('should verify both face and fingerprint', async () => {
      const options = {
        faceImage: Buffer.from('test-face-image'),
        referenceFaceImage: Buffer.from('test-reference-face-image'),
        fingerprint: Buffer.from('test-fingerprint'),
        referenceFingerprint: Buffer.from('test-reference-fingerprint'),
      };

      const result = await performBiometricVerification(options);

      expect(result.faceMatch).toBeDefined();
      expect(result.fingerprintMatch).toBeDefined();
      expect(result.overallMatch).toBeDefined();
    });
  });
});

