Fix jwt-token
This commit is contained in:
@@ -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) {
|
||||||
|
|||||||
Reference in New Issue
Block a user