diff --git a/server/tests/setup.js b/server/tests/setup.js index d782b5d..2c11662 100644 --- a/server/tests/setup.js +++ b/server/tests/setup.js @@ -197,17 +197,31 @@ async function createTestDevice(deviceData = {}) { async function createTestDetection(detectionData = {}) { const { DroneDetection, Device } = models; - // Create device if not provided let device; + + // If device_id is provided, try to find the existing device if (detectionData.device_id) { device = await Device.findByPk(detectionData.device_id); - } - if (!device) { - device = await createTestDevice(); + if (!device) { + console.log(`Warning: Device ${detectionData.device_id} not found, creating new device`); + } } + // If no device found or no device_id provided, create a new device + if (!device) { + const deviceData = {}; + if (detectionData.tenant_id) { + deviceData.tenant_id = detectionData.tenant_id; + } + device = await createTestDevice(deviceData); + console.log(`Created new device with ID: ${device.id}`); + } + + // Remove device_id from detectionData to avoid overriding + const { device_id, ...restDetectionData } = detectionData; + const defaultDetectionData = { - device_id: device.id, + device_id: device.id, // Always use the actual device ID geo_lat: device.geo_lat, geo_lon: device.geo_lon, device_timestamp: Date.now(), @@ -216,9 +230,10 @@ async function createTestDetection(detectionData = {}) { rssi: -65, freq: 2400, drone_id: Math.floor(Math.random() * 10000), - ...detectionData + ...restDetectionData }; + console.log(`Creating detection for device ${device.id}`); return await DroneDetection.create(defaultDetectionData); }