Fix jwt-token
This commit is contained in:
@@ -109,19 +109,22 @@ async function teardownTestEnvironment() {
|
||||
async function cleanDatabase() {
|
||||
if (sequelize) {
|
||||
try {
|
||||
// Disable foreign key checks temporarily
|
||||
await sequelize.query('PRAGMA foreign_keys = OFF');
|
||||
|
||||
// Force sync with drop and recreate
|
||||
// For SQLite in-memory, completely drop all tables and recreate
|
||||
await sequelize.drop();
|
||||
await sequelize.sync({ force: true });
|
||||
|
||||
// Re-enable foreign key checks
|
||||
await sequelize.query('PRAGMA foreign_keys = ON');
|
||||
|
||||
console.log('✅ Database cleaned successfully');
|
||||
} catch (error) {
|
||||
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
|
||||
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);
|
||||
}
|
||||
|
||||
@@ -274,6 +285,14 @@ async function createTestTenant(tenantData = {}) {
|
||||
// Remove any id field to let Sequelize auto-generate UUID
|
||||
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 {
|
||||
return await Tenant.create(defaultTenantData);
|
||||
} catch (error) {
|
||||
|
||||
Reference in New Issue
Block a user