import jwt from 'jsonwebtoken';
import dotenv from 'dotenv';

dotenv.config();

// Simuler la création d'un JWT comme dans oauth.controller.js
const mockUser = {
  id: '78e44715-ca16-47bd-9902-069ed6bc0ee8',
  email: 'soufiane.baali@e-polytechnique.ma',
  role: 'CLIENT'
};

console.log('🔐 Test de génération JWT\n');

// Créer un JWT avec la nouvelle méthode (userId)
const newToken = jwt.sign(
  {
    userId: mockUser.id,
    email: mockUser.email,
    role: mockUser.role,
  },
  process.env.JWT_SECRET,
  { expiresIn: '7d' }
);

console.log('✅ Nouveau JWT généré (avec userId):');
console.log(newToken);
console.log();

// Décoder le token pour voir son contenu
const decoded = jwt.decode(newToken);
console.log('📋 Contenu du JWT décodé:');
console.log(JSON.stringify(decoded, null, 2));
console.log();

// Vérifier si userId existe
if (decoded.userId) {
  console.log('✅ Le JWT contient bien "userId":', decoded.userId);
} else if (decoded.id) {
  console.log('❌ Le JWT contient "id" au lieu de "userId":', decoded.id);
} else {
  console.log('❌ Le JWT ne contient ni "userId" ni "id"');
}
