Keep/mcp-server/test-server.js
sepehr ddb67ba9e5 fix: unify theme system - fix theme switching persistence
- Unified localStorage key to 'theme-preference' across all components
- Fixed header.tsx using wrong localStorage key ('theme' instead of 'theme-preference')
- Added localStorage hybrid persistence for instant theme changes
- Removed router.refresh() which was causing stale data revert
- Replaced Blue theme with Sepia
- Consolidated auth() calls to prevent race conditions
- Updated UserSettingsData types to include all themes
2026-01-18 22:33:41 +01:00

85 lines
2.5 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env node
// Test script to verify MCP server can connect to the database
import { PrismaClient } from '@prisma/client';
import { fileURLToPath } from 'url';
import { dirname, join } from 'path';
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
console.log('🧪 Testing MCP Server Database Connection...\n');
try {
const prisma = new PrismaClient({
datasources: {
db: {
url: 'file:D:/dev_new_pc/Keep/keep-notes/prisma/dev.db'
}
}
});
console.log('✅ Prisma Client initialized successfully');
// Test 1: Count notes
console.log('\n📝 Test 1: Counting notes...');
const noteCount = await prisma.note.count();
console.log(` Found ${noteCount} notes in database`);
// Test 2: Get recent notes
console.log('\n📝 Test 2: Fetching recent notes...');
const recentNotes = await prisma.note.findMany({
take: 3,
orderBy: { updatedAt: 'desc' }
});
console.log(` Fetched ${recentNotes.length} recent notes`);
if (recentNotes.length > 0) {
console.log(` Latest note: ${recentNotes[0].title || 'Untitled'}`);
}
// Test 3: Count notebooks
console.log('\n📚 Test 3: Counting notebooks...');
const notebookCount = await prisma.notebook.count();
console.log(` Found ${notebookCount} notebooks in database`);
// Test 4: Get notebooks
console.log('\n📚 Test 4: Fetching notebooks...');
const notebooks = await prisma.notebook.findMany({
take: 3,
orderBy: { order: 'asc' }
});
console.log(` Fetched ${notebooks.length} notebooks`);
if (notebooks.length > 0) {
notebooks.forEach(nb => {
console.log(` - ${nb.icon || '📁'} ${nb.name}`);
});
}
// Test 5: Count labels
console.log('\n🏷 Test 5: Counting labels...');
const labelCount = await prisma.label.count();
console.log(` Found ${labelCount} labels in database`);
// Test 6: Get labels
console.log('\n🏷 Test 6: Fetching labels...');
const labels = await prisma.label.findMany({
take: 5,
orderBy: { name: 'asc' }
});
console.log(` Fetched ${labels.length} labels`);
if (labels.length > 0) {
labels.forEach(l => {
console.log(` - ${l.name} (${l.color})`);
});
}
await prisma.$disconnect();
console.log('\n✅ All database tests passed successfully!');
console.log('🚀 MCP Server is ready to use!\n');
} catch (error) {
console.error('\n❌ Database test failed:', error.message);
console.error(error);
process.exit(1);
}