feat: Add schema check and logging tests for project tasks and notes

This commit is contained in:
Chop
2025-06-19 22:13:08 +02:00
parent 3762f2e6f8
commit f0e3bf6eaa
5 changed files with 70 additions and 13 deletions

49
test-logging.mjs Normal file
View File

@@ -0,0 +1,49 @@
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.");