Fix jwt-token

This commit is contained in:
2025-09-15 14:16:10 +02:00
parent f78ce67e10
commit 2baf21981a

View File

@@ -109,19 +109,22 @@ async function teardownTestEnvironment() {
async function cleanDatabase() { async function cleanDatabase() {
if (sequelize) { if (sequelize) {
try { try {
// Disable foreign key checks temporarily // For SQLite in-memory, completely drop all tables and recreate
await sequelize.query('PRAGMA foreign_keys = OFF'); await sequelize.drop();
// Force sync with drop and recreate
await sequelize.sync({ force: true }); await sequelize.sync({ force: true });
// Re-enable foreign key checks
await sequelize.query('PRAGMA foreign_keys = ON');
console.log('✅ Database cleaned successfully'); console.log('✅ Database cleaned successfully');
} catch (error) { } catch (error) {
console.error('❌ Database cleanup failed:', error.message); console.error('❌ Database cleanup failed:', error.message);
throw error; // Fallback: try alternative cleanup
try {
const models = sequelize.models;
for (const modelName of Object.keys(models)) {
await models[modelName].destroy({ where: {}, truncate: true });
}
} catch (fallbackError) {
console.error('❌ Fallback cleanup also failed:', fallbackError.message);
}
} }
} }
} }
@@ -180,6 +183,14 @@ async function createTestUser(userData = {}) {
// Remove any id field to let Sequelize auto-generate UUID // Remove any id field to let Sequelize auto-generate UUID
delete defaultUserData.id; delete defaultUserData.id;
// Additional safety check - remove any UUIDV4 function objects
Object.keys(defaultUserData).forEach(key => {
if (defaultUserData[key] && typeof defaultUserData[key] === 'object' &&
defaultUserData[key].constructor && defaultUserData[key].constructor.name === 'UUIDV4') {
delete defaultUserData[key];
}
});
return await User.create(defaultUserData); return await User.create(defaultUserData);
} }
@@ -274,6 +285,14 @@ async function createTestTenant(tenantData = {}) {
// Remove any id field to let Sequelize auto-generate UUID // Remove any id field to let Sequelize auto-generate UUID
delete defaultTenantData.id; delete defaultTenantData.id;
// Additional safety check - remove any UUIDV4 function objects
Object.keys(defaultTenantData).forEach(key => {
if (defaultTenantData[key] && typeof defaultTenantData[key] === 'object' &&
defaultTenantData[key].constructor && defaultTenantData[key].constructor.name === 'UUIDV4') {
delete defaultTenantData[key];
}
});
try { try {
return await Tenant.create(defaultTenantData); return await Tenant.create(defaultTenantData);
} catch (error) { } catch (error) {