- Add comprehensive projects feature documentation (docs/projects-feature.md) - Add testing guide and checklist (test_projects_feature.js) - Update .gitignore to exclude database files - Include Task 13 completion summary Documentation covers: - Feature overview and key capabilities - Project creation (manual and smart suggestions) - Session assignment (automatic and manual) - Project management (edit, delete, restore) - Complete API reference - Smart suggestions explanation - Troubleshooting and FAQ Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
145 lines
5.3 KiB
JavaScript
Executable File
145 lines
5.3 KiB
JavaScript
Executable File
#!/usr/bin/env node
|
|
|
|
/**
|
|
* Manual Testing Script for Projects Feature
|
|
*
|
|
* This script provides instructions for manual testing of the projects feature.
|
|
* Since the API requires authentication, manual testing through the web interface
|
|
* is the most reliable method.
|
|
*/
|
|
|
|
console.log(`
|
|
╔════════════════════════════════════════════════════════════════════════╗
|
|
║ PROJECTS FEATURE - MANUAL TESTING GUIDE ║
|
|
╚════════════════════════════════════════════════════════════════════════╝
|
|
|
|
Server Status Check:
|
|
-------------------
|
|
The server should be running on http://localhost:3010/claude
|
|
|
|
To verify: curl -s http://localhost:3010/claude | grep -q "Obsidian" && echo "✓ Server is running"
|
|
|
|
TESTING CHECKLIST:
|
|
==================
|
|
|
|
1. NAVIGATE TO PROJECTS PAGE
|
|
✓ Open browser to http://localhost:3010/claude
|
|
✓ Look for "Projects" link in navigation
|
|
✓ Click to navigate to /projects
|
|
✓ Expected: Grid view with "New Project" and "Suggestions" buttons
|
|
|
|
2. CREATE A TEST PROJECT
|
|
✓ Click "New Project" button
|
|
✓ Fill in:
|
|
- Name: "Test Project"
|
|
- Path: "/test-project"
|
|
- Description: "Testing the projects feature"
|
|
- Icon: 🧪 (or any emoji)
|
|
- Color: #ff5733 (or any color)
|
|
✓ Click "Create Project"
|
|
✓ Expected: Project card appears in grid with correct info
|
|
|
|
3. VERIFY PROJECT ON LANDING PAGE
|
|
✓ Navigate back to home page
|
|
✓ Look for "Projects" section
|
|
✓ Expected: "Test Project" appears in the projects section
|
|
|
|
4. CREATE A SESSION (TEST AUTO-ASSIGN)
|
|
✓ Create a new session while "Test Project" exists
|
|
✓ Expected: Session automatically assigned to "Test Project"
|
|
✓ Check session card for project badge/indicator
|
|
|
|
5. TEST MOVE SESSION VIA CONTEXT MENU
|
|
✓ Create a second project: "Another Test"
|
|
✓ Right-click (or long-press) on a session
|
|
✓ Select "Move to Project" from context menu
|
|
✓ Choose destination project
|
|
✓ Expected: Session moves to new project
|
|
|
|
6. TEST SOFT DELETE TO RECYCLE BIN
|
|
✓ On /projects page, click "Delete" on a project
|
|
✓ Confirm deletion
|
|
✓ Expected: Project removed from main view
|
|
✓ Click "Recycle Bin" button
|
|
✓ Expected: Deleted project appears in recycle bin
|
|
|
|
7. TEST RESTORE
|
|
✓ In recycle bin, click "Restore" on deleted project
|
|
✓ Expected: Project restored to main view
|
|
✓ All settings preserved (name, color, etc.)
|
|
|
|
8. TEST PROJECT EDITING
|
|
✓ Click "Edit" on a project card
|
|
✓ Modify name, description, or color
|
|
✓ Click "Save Changes"
|
|
✓ Expected: Project updates with new values
|
|
|
|
9. TEST SUGGESTIONS FEATURE
|
|
✓ On /projects page, click "Suggestions" (✨) button
|
|
✓ Expected: Modal with AI-generated suggestions
|
|
✓ Click "Use" on a suggestion
|
|
✓ Expected: New project created with suggested name
|
|
|
|
10. TEST PROJECT FILTERING/SEARCHING
|
|
✓ Create multiple projects with different names
|
|
✓ Use search/filter if available
|
|
✓ Expected: Can find specific projects quickly
|
|
|
|
DATABASE VERIFICATION:
|
|
=====================
|
|
To verify database state directly:
|
|
|
|
node -e "
|
|
const db = require('better-sqlite3')('database.sqlite');
|
|
const projects = db.prepare('SELECT * FROM projects WHERE deletedAt IS NULL').all();
|
|
console.log('Active projects:', projects.length);
|
|
console.log(JSON.stringify(projects, null, 2));
|
|
"
|
|
|
|
API TESTING (with authentication token):
|
|
========================================
|
|
Once logged in, you can test API endpoints:
|
|
|
|
1. List Projects:
|
|
curl http://localhost:3010/api/projects \\
|
|
-H 'Cookie: your_session_cookie'
|
|
|
|
2. Create Project:
|
|
curl -X POST http://localhost:3010/api/projects \\
|
|
-H 'Content-Type: application/json' \\
|
|
-H 'Cookie: your_session_cookie' \\
|
|
-d '{"name":"API Test","path":"/api-test","description":"Created via API"}'
|
|
|
|
3. Get Suggestions:
|
|
curl http://localhost:3010/api/projects/suggestions \\
|
|
-H 'Cookie: your_session_cookie'
|
|
|
|
COMMON ISSUES TO CHECK:
|
|
=======================
|
|
✓ Projects not appearing → Check deletedAt IS NULL in database
|
|
✓ Sessions not auto-assigning → Verify at least one active project exists
|
|
✓ Can't delete project → Check if it's the only project (may be protected)
|
|
✓ Color not displaying → Verify hex format (#RRGGBB)
|
|
✓ Icon not showing → Use emoji characters only
|
|
|
|
CLEANUP AFTER TESTING:
|
|
=====================
|
|
To remove test data:
|
|
|
|
node -e "
|
|
const db = require('better-sqlite3')('database.sqlite');
|
|
db.prepare('DELETE FROM projects WHERE name LIKE \"Test%\"').run();
|
|
console.log('Test projects removed');
|
|
"
|
|
|
|
READY TO START:
|
|
===============
|
|
Open your browser to: http://localhost:3010/claude
|
|
|
|
Follow the checklist above and verify each feature works as expected.
|
|
|
|
═════════════════════════════════════════════════════════════════════════
|
|
`);
|
|
|
|
process.exit(0);
|