Files
panel/test-logging.mjs

50 lines
1.6 KiB
JavaScript

import db from "./src/lib/db.js";
import {
createProjectTask,
updateProjectTaskStatus,
} from "./src/lib/queries/tasks.js";
import { getNotesByTaskId } from "./src/lib/queries/notes.js";
console.log("Testing automatic logging system...\n");
// Test 1: Create a new task and check if system note is created
console.log("Test 1: Creating a new task...");
try {
const result = createProjectTask({
project_id: 1, // Assuming project ID 1 exists
custom_task_name: "Test Task for Logging",
custom_description: "Testing automatic note creation",
custom_max_wait_days: 7,
priority: "high",
status: "pending",
});
const taskId = result.lastInsertRowid;
console.log(`✓ Task created with ID: ${taskId}`);
// Check if system note was created
const notes = getNotesByTaskId(taskId);
console.log(`✓ Notes found: ${notes.length}`);
console.log("Notes:", notes);
// Test 2: Update task status and check if system note is created
console.log("\nTest 2: Updating task status...");
updateProjectTaskStatus(taskId, "in_progress");
console.log("✓ Task status updated to in_progress");
// Check if new system note was created
const updatedNotes = getNotesByTaskId(taskId);
console.log(`✓ Notes after status update: ${updatedNotes.length}`);
console.log("Updated notes:", updatedNotes);
// Clean up - delete test task
console.log("\nCleaning up test data...");
db.prepare("DELETE FROM notes WHERE task_id = ?").run(taskId);
db.prepare("DELETE FROM project_tasks WHERE id = ?").run(taskId);
console.log("✓ Test data cleaned up");
} catch (error) {
console.error("❌ Error during testing:", error);
}
console.log("\nTest completed.");