Fix jwt-token

This commit is contained in:
2025-09-15 12:30:00 +02:00
parent 64a5229025
commit e609cc4541
3 changed files with 74 additions and 38 deletions

View File

@@ -112,21 +112,38 @@ async function cleanDatabase() {
}
}
// Global counter for unique test data
let testCounter = 0;
/**
* Get a unique suffix for test data
*/
function getUniqueTestSuffix() {
testCounter++;
return Date.now() + '-' + testCounter + '-' + Math.random().toString(36).substr(2, 5);
}
/**
* Create test user with specified role and tenant
*/
async function createTestUser(userData = {}) {
const { User, Tenant } = models;
// Create default tenant if not exists with unique domain
const userUniqueSuffix = Date.now() + '-' + Math.random().toString(36).substr(2, 5);
let tenant = await Tenant.findOne({ where: { slug: 'test-tenant-' + userUniqueSuffix } });
// Generate unique suffix for this test run
const uniqueSuffix = getUniqueTestSuffix();
// Create or find tenant
let tenant;
if (userData.tenant_id) {
tenant = await Tenant.findByPk(userData.tenant_id);
}
if (!tenant) {
try {
tenant = await Tenant.create({
name: 'Test Tenant',
slug: 'test-tenant-' + userUniqueSuffix,
domain: 'test-' + userUniqueSuffix + '.example.com',
slug: 'test-tenant-' + uniqueSuffix,
domain: 'test-' + uniqueSuffix + '.example.com',
is_active: true
});
} catch (error) {
@@ -136,9 +153,6 @@ async function createTestUser(userData = {}) {
}
}
// Generate a unique username to avoid conflicts
const uniqueSuffix = Date.now() + '-' + Math.random().toString(36).substr(2, 5);
const defaultUserData = {
username: userData.username || 'testuser-' + uniqueSuffix,
email: userData.email || 'test-' + uniqueSuffix + '@example.com',
@@ -158,14 +172,20 @@ async function createTestUser(userData = {}) {
async function createTestDevice(deviceData = {}) {
const { Device, Tenant } = models;
// Create default tenant if not exists with unique domain
const deviceUniqueSuffix = Date.now() + '-' + Math.random().toString(36).substr(2, 5);
let tenant = await Tenant.findOne({ where: { slug: 'test-tenant-' + deviceUniqueSuffix } });
// Generate unique suffix for this test run
const uniqueSuffix = getUniqueTestSuffix();
// Create or find tenant
let tenant;
if (deviceData.tenant_id) {
tenant = await Tenant.findByPk(deviceData.tenant_id);
}
if (!tenant) {
tenant = await Tenant.create({
name: 'Test Tenant',
slug: 'test-tenant-' + deviceUniqueSuffix,
domain: 'test-' + deviceUniqueSuffix + '.example.com',
slug: 'test-tenant-' + uniqueSuffix,
domain: 'test-' + uniqueSuffix + '.example.com',
is_active: true
});
}
@@ -222,7 +242,7 @@ async function createTestDetection(detectionData = {}) {
async function createTestTenant(tenantData = {}) {
const { Tenant } = models;
const uniqueSuffix = Date.now() + '-' + Math.random().toString(36).substr(2, 5);
const uniqueSuffix = getUniqueTestSuffix();
const defaultTenantData = {
name: 'Test Tenant',