Manual Browser Testing Guide - Sprint 2 Validation
Purpose: Validate end-to-end user experience in production Environment: https://coditect.ai (GKE Production) Date: 2025-10-20 Prerequisite: Automated tests passed (4/4) ✅
Pre-Test Setup
Test Credentials
Option 1: Use Existing Test User (from automated validation)
- Email:
test-1760920426@coditect.test - Password:
Test123!Pass - User ID:
9bbd745b-6dfa-4483-825b-784d63ebf57d
Option 2: Create New Test User (recommended for fresh testing)
- Use any email format:
your-email@example.com - Password requirements: Min 8 chars, 1 uppercase, 1 lowercase, 1 number, 1 special char
- Example:
TestUser2025!
Browser Requirements
Recommended: Chrome 120+, Firefox 115+, Safari 17+, Edge 120+
Required Browser Features:
- JavaScript enabled
- Cookies enabled
- LocalStorage enabled
- WebSocket support
- Modern ES6+ support
Testing Checklist
Print this checklist and mark off each test as you complete it:
Phase 1: Frontend Loading
[ ] Homepage loads
[ ] No console errors
[ ] UI renders correctly
[ ] Navigation working
Phase 2: Registration
[ ] Registration page loads
[ ] Form validation works
[ ] User registration succeeds
[ ] Redirect to login/dashboard
Phase 3: Login
[ ] Login page loads
[ ] Form validation works
[ ] Login with test user succeeds
[ ] JWT token stored
[ ] Redirect to dashboard
Phase 4: theia IDE
[ ] IDE interface loads
[ ] File explorer visible
[ ] editor pane visible
[ ] terminal pane visible
[ ] Menu bar working
Phase 5: terminal
[ ] terminal opens
[ ] Basic commands work (ls, pwd, echo)
[ ] Output displays correctly
[ ] Input responsive
Phase 6: File Operations
[ ] Create new file
[ ] Edit file content
[ ] Save file
[ ] Delete file
[ ] File persists after refresh
Phase 7: Session Management
[ ] Session persists after refresh
[ ] Logout works
[ ] Re-login works
[ ] Session state restored
Phase 1: Frontend Loading
Test 1.1: Homepage Access
Steps:
- Open browser (incognito/private mode recommended)
- Navigate to:
https://coditect.ai - Wait for page load (should be < 3 seconds)
Expected Results:
- ✅ Page loads without errors
- ✅ No SSL certificate warnings
- ✅ Navigation bar visible
- ✅ Main content visible
- ✅ Footer visible (if present)
Check Browser Console (F12 → Console tab):
- ⚠️ Look for errors (red messages)
- ⚠️ Look for warnings (yellow messages)
- ✅ No critical errors allowed
Document Any Issues:
Issue: [description]
Screenshot: [attach or describe]
Console Errors: [paste any errors]
Test 1.2: Navigation
Steps:
- Click "Register" (or "Sign Up") link
- Verify registration page loads
- Click "Login" (or "Sign In") link
- Verify login page loads
- Click "Home" or logo
- Verify returns to homepage
Expected Results:
- ✅ All navigation links work
- ✅ No 404 errors
- ✅ No broken links
Phase 2: Registration
Test 2.1: Registration Form Validation
Steps:
- Navigate to registration page
- Click "Register" without filling form
Expected Results:
- ✅ Form validation errors shown
- ✅ Required fields highlighted
- ✅ Error messages clear and helpful
Test 2.2: Password Validation
Steps:
- Try password:
weak(too short) - Try password:
password(no uppercase/numbers/special) - Try password:
Password1(no special char) - Try password:
Password1!(should work)
Expected Results:
- ✅ Weak passwords rejected
- ✅ Error messages explain requirements
- ✅ Strong password accepted
Test 2.3: User Registration
Steps:
- Fill registration form:
- First Name:
Manual - Last Name:
Test - Email:
manual-test-[timestamp]@coditect.test(use current timestamp) - Password:
ManualTest2025! - Confirm Password:
ManualTest2025!
- First Name:
- Click "Register" or "Create Account"
- Observe response
Expected Results:
- ✅ Registration succeeds
- ✅ Success message shown
- ✅ Redirected to dashboard or login page
- ✅ JWT token received (check browser DevTools → Application → Local Storage)
Check Network Tab (F12 → Network tab):
- Find
POST /api/v5/auth/registerrequest - Verify response status:
200 OK - Verify response body contains:
{
"token": "eyJ0eXAiOiJKV1QiLCJhbGc...",
"user": {
"id": "uuid-here",
"email": "your-email",
"first_name": "Manual",
"last_name": "Test"
}
}
Document Registration:
Timestamp: [when registered]
Email Used: [email address]
User ID: [from response]
Success: [Yes/No]
Issues: [any problems]
Phase 3: Login
Test 3.1: Login Form Validation
Steps:
- Navigate to login page
- Click "Login" without filling form
Expected Results:
- ✅ Email required error
- ✅ Password required error
Test 3.2: Invalid Credentials
Steps:
- Enter email:
test-1760920426@coditect.test - Enter password:
WrongPassword123! - Click "Login"
Expected Results:
- ✅ Login fails
- ✅ Error message: "Invalid credentials" or similar
- ✅ No redirect
- ✅ Form cleared or maintains email
Test 3.3: Valid Login
Steps:
- Enter email:
test-1760920426@coditect.test - Enter password:
Test123!Pass - Click "Login"
- Observe response
Expected Results:
- ✅ Login succeeds
- ✅ Success message or immediate redirect
- ✅ Redirected to dashboard or IDE
- ✅ JWT token stored in LocalStorage
- ✅ User info displayed (name, avatar, etc.)
Check Network Tab:
- Find
POST /api/v5/auth/loginrequest - Verify response status:
200 OK - Verify response contains new JWT token
- Note session_id from token (decode JWT at jwt.io)
Check LocalStorage (F12 → Application → Local Storage → https://coditect.ai):
- ✅
tokenorauthTokenkey present - ✅ Value is valid JWT (starts with
eyJ)
Document Login:
Login Time: [timestamp]
Email: test-1760920426@coditect.test
Session ID: [from JWT payload]
Token Family: [from JWT payload]
Success: [Yes/No]
Issues: [any problems]
Phase 4: theia IDE
Test 4.1: IDE Interface Loading
Steps:
- After successful login, observe IDE loading
- Wait for full IDE interface to appear
- Maximize browser window for full view
Expected Results:
- ✅ IDE loads within 5 seconds
- ✅ Menu bar visible (File, Edit, View, terminal, etc.)
- ✅ File explorer (left sidebar) visible
- ✅ editor pane (center) visible
- ✅ terminal pane (bottom) visible or available
- ✅ Status bar (bottom) visible
- ✅ No loading spinners stuck
Visual Checklist:
[ ] Top Menu Bar: File | Edit | View | Selection | terminal | Help
[ ] Left Sidebar: File Explorer icon, Search icon, Git icon
[ ] Center Pane: Welcome tab or editor
[ ] Bottom Pane: terminal, Output, Problems, Debug Console tabs
[ ] Status Bar: Line/Col, Language, Encoding, Git branch
Check Browser Console:
- ⚠️ Look for errors related to theia loading
- ⚠️ Look for WebSocket connection errors
- ✅ No critical errors blocking IDE
Screenshot: Take screenshot of full IDE interface for documentation
Test 4.2: File Explorer
Steps:
- Click "File Explorer" icon (left sidebar)
- Observe file tree
- Right-click in file explorer
- Verify context menu appears
Expected Results:
- ✅ File explorer opens
- ✅ Root directory shown (may be empty or have sample files)
- ✅ Right-click context menu shows options:
- New File
- New Folder
- Refresh
- etc.
Test 4.3: Menu Bar Navigation
Steps:
- Click "File" menu
- Verify dropdown appears
- Click "terminal" menu
- Verify terminal options appear
- Click "View" menu
- Verify view options appear
Expected Results:
- ✅ All menus open correctly
- ✅ Menu items visible and clickable
- ✅ No broken menu rendering
Phase 5: terminal Functionality
Test 5.1: Open terminal
Steps:
- Click "terminal" menu → "New terminal" OR
- Click terminal icon in bottom panel OR
- Use keyboard shortcut: `Ctrl+`` (backtick)
Expected Results:
- ✅ terminal pane opens (usually bottom of screen)
- ✅ Command prompt visible
- ✅ Cursor blinking
- ✅ Ready for input
terminal Prompt Should Show:
user@container:/workspace$
(or similar, depending on container configuration)
Test 5.2: Basic Commands
Test Command: pwd (print working directory)
Steps:
- Type:
pwd - Press Enter
- Observe output
Expected Output:
/workspace
(or project root directory)
Test Command: ls (list files)
Steps:
- Type:
ls - Press Enter
- Observe output
Expected Output:
backend/ docs/ node_modules/ package.json README.md src/ ...
(actual project files and directories)
Test Command: echo (print text)
Steps:
- Type:
echo "Hello from Coditect IDE" - Press Enter
- Observe output
Expected Output:
Hello from Coditect IDE
Test Command: whoami (current user)
Steps:
- Type:
whoami - Press Enter
- Observe output
Expected Output:
hal
(or container username)
Test Command: date (current date/time)
Steps:
- Type:
date - Press Enter
- Observe output
Expected Output:
Sun Oct 20 02:50:15 UTC 2025
(current date and time)
Test 5.3: terminal Input/Output
Test: Multi-line Input
Steps:
- Type:
echo "Line 1" - Press Enter
- Type:
echo "Line 2" - Press Enter
- Observe both outputs
Expected Results:
- ✅ Both commands execute separately
- ✅ Output appears after each command
- ✅ terminal scrolls if needed
Test: Arrow Key Navigation
Steps:
- Type:
echo "test" - Press Enter
- Press Up Arrow
- Observe previous command appears
- Press Down Arrow
- Observe command clears or cycles
Expected Results:
- ✅ Up arrow shows command history
- ✅ Down arrow navigates history
- ✅ Command history persists
Test: Tab Completion
Steps:
- Type:
ls doc(partial directory name) - Press Tab
- Observe completion
Expected Results:
- ✅ Tab completes to
ls docs/(if docs/ exists) - ✅ Tab shows multiple options if ambiguous
- ✅ Tab completion works for files and commands
Phase 6: File Operations
Test 6.1: Create New File
Steps:
- In file explorer, right-click root directory
- Select "New File"
- Name file:
test-manual-validation.txt - Press Enter
- Observe file created
Expected Results:
- ✅ File appears in file explorer
- ✅ File opens in editor pane
- ✅ Cursor ready in editor
Test 6.2: Edit File Content
Steps:
- In editor, type:
Sprint 2 Manual Validation Test
Created: [current date/time]
User: manual-test
This file validates:
- File creation working
- editor working
- File save working
- Persistence working - Observe typing
- Look for auto-save indicator or unsaved marker
Expected Results:
- ✅ Text appears as you type
- ✅ No lag or input delay
- ✅ Syntax highlighting (if applicable)
- ✅ File marked as unsaved (dot or asterisk in tab)
Test 6.3: Save File
Steps:
- Press
Ctrl+S(Windows/Linux) orCmd+S(Mac) OR - Click "File" menu → "Save"
- Observe save indicator
Expected Results:
- ✅ File saved (unsaved marker removed)
- ✅ Success message or notification
- ✅ File contents preserved
Test 6.4: Verify File Persistence (terminal)
Steps:
- Open terminal (if not already open)
- Type:
cat test-manual-validation.txt - Press Enter
- Observe output
Expected Output:
Sprint 2 Manual Validation Test
Created: [date/time you entered]
User: manual-test
This file validates:
- File creation working
- editor working
- File save working
- Persistence working
Expected Results:
- ✅ File contents match what you typed
- ✅ File saved to filesystem
- ✅ File readable from terminal
Test 6.5: File Persistence (Browser Refresh)
Steps:
- Press
F5orCtrl+Rto refresh browser - Wait for IDE to reload
- Look for
test-manual-validation.txtin file explorer - Open file in editor
Expected Results:
- ✅ File still present after refresh
- ✅ File contents preserved
- ✅ File opens correctly
- ✅ editor shows saved content
Test 6.6: Delete File
Steps:
- Right-click
test-manual-validation.txtin file explorer - Select "Delete"
- Confirm deletion (if prompted)
- Observe file removed
Expected Results:
- ✅ File removed from file explorer
- ✅ editor tab closed (if file was open)
- ✅ File deleted from filesystem
Verify Deletion:
- In terminal, type:
ls test-manual-validation.txt - Press Enter
- Expected output:
ls: cannot access 'test-manual-validation.txt': No such file or directory
Phase 7: Session Management
Test 7.1: Session Persistence (Browser Refresh)
Steps:
- Note current session state (files open, terminal history, etc.)
- Press
F5to refresh browser - Wait for reload
- Observe session restoration
Expected Results:
- ✅ Auto-login (no login prompt)
- ✅ IDE reloads
- ✅ Open files restored (if applicable)
- ✅ terminal available (may reset)
- ✅ No data loss
Check LocalStorage:
- ✅ JWT token still present
- ✅ Same token as before refresh
Test 7.2: Session Persistence (Browser Close/Reopen)
Steps:
- Close browser completely
- Wait 10 seconds
- Reopen browser
- Navigate to
https://coditect.ai - Observe behavior
Expected Results:
- ✅ Auto-login (if token not expired)
- ✅ IDE loads without login prompt
- ✅ Session restored
OR (if token expired):
- ✅ Redirected to login page
- ✅ Login works with test credentials
- ✅ New session created
Test 7.3: Logout
Steps:
- Look for "Logout" or "Sign Out" button/link
- Click logout
- Observe behavior
Expected Results:
- ✅ Logged out successfully
- ✅ Redirected to login page or homepage
- ✅ LocalStorage token removed
- ✅ Cannot access IDE without re-login
Verify Logout:
- Try to navigate to
https://coditect.ai/ide(or dashboard) - Should redirect to login page
- Check LocalStorage:
tokenkey should be removed
Test 7.4: Re-Login After Logout
Steps:
- After logout, click "Login"
- Enter credentials:
- Email:
test-1760920426@coditect.test - Password:
Test123!Pass
- Email:
- Click "Login"
- Observe behavior
Expected Results:
- ✅ Login succeeds
- ✅ New JWT token issued
- ✅ IDE loads
- ✅ Fresh session started
Check Network Tab:
- ✅ New
POST /api/v5/auth/loginrequest - ✅ New session_id in JWT payload
- ✅ Different from previous session_id
Phase 8: Advanced terminal Tests (Optional)
Test 8.1: Node.js
Steps:
- Type:
node --version - Press Enter
Expected Output:
v18.x.x
(or current Node version in container)
Test 8.2: NPM
Steps:
- Type:
npm --version - Press Enter
Expected Output:
9.x.x
(or current npm version)
Test 8.3: Git
Steps:
- Type:
git --version - Press Enter
Expected Output:
git version 2.x.x
Test 8.4: Run Simple Script
Steps:
- Create file:
test-script.js - Add content:
console.log("Coditect IDE - Script Execution Test");
console.log("Date:", new Date().toISOString()); - Save file
- In terminal, type:
node test-script.js - Press Enter
Expected Output:
Coditect IDE - Script Execution Test
Date: 2025-10-20T02:50:15.123Z
Test Results Summary Template
Copy and fill out this template after completing all tests:
# Manual Browser Testing Results - Sprint 2
**Date**: 2025-10-20
**Tester**: [Your Name]
**Browser**: [Chrome 120 / Firefox 115 / etc.]
**OS**: [Windows 11 / macOS 14 / etc.]
**Session Duration**: [how long testing took]
---
## Phase 1: Frontend Loading
- [ ] ✅ PASS | [ ] ❌ FAIL | [ ] ⚠️ ISSUES
- Issues: [describe any issues]
## Phase 2: Registration
- [ ] ✅ PASS | [ ] ❌ FAIL | [ ] ⚠️ ISSUES
- Test User Created: [email and user ID]
- Issues: [describe any issues]
## Phase 3: Login
- [ ] ✅ PASS | [ ] ❌ FAIL | [ ] ⚠️ ISSUES
- Session ID: [from JWT]
- Issues: [describe any issues]
## Phase 4: theia IDE
- [ ] ✅ PASS | [ ] ❌ FAIL | [ ] ⚠️ ISSUES
- Load Time: [seconds]
- Issues: [describe any issues]
## Phase 5: terminal
- [ ] ✅ PASS | [ ] ❌ FAIL | [ ] ⚠️ ISSUES
- Commands Tested: pwd, ls, echo, whoami, date
- Issues: [describe any issues]
## Phase 6: File Operations
- [ ] ✅ PASS | [ ] ❌ FAIL | [ ] ⚠️ ISSUES
- File Created: test-manual-validation.txt
- Persistence: [verified after refresh]
- Issues: [describe any issues]
## Phase 7: Session Management
- [ ] ✅ PASS | [ ] ❌ FAIL | [ ] ⚠️ ISSUES
- Refresh Test: [PASS/FAIL]
- Logout Test: [PASS/FAIL]
- Re-login Test: [PASS/FAIL]
- Issues: [describe any issues]
---
## Overall Result
- [ ] ✅ ALL TESTS PASSED - Ready for Sprint 3
- [ ] ⚠️ MINOR ISSUES - Proceed with caution
- [ ] ❌ CRITICAL FAILURES - Fix before Sprint 3
---
## Critical Blockers Found
[List any critical issues that must be fixed before proceeding]
## Minor Issues Found
[List any minor issues that can be addressed later]
## Screenshots Attached
1. [Describe screenshot 1]
2. [Describe screenshot 2]
...
---
## Recommendations
[What should be done next based on test results]
Troubleshooting Common Issues
Issue: IDE Not Loading After Login
Symptoms: Login succeeds but IDE doesn't appear
Debug Steps:
- Check browser console for errors
- Check Network tab for failed requests
- Look for WebSocket connection errors
- Verify JWT token in LocalStorage
Possible Solutions:
- Clear browser cache and LocalStorage
- Try different browser
- Check if WebSocket ports are blocked
- Verify GKE pods are running:
kubectl get pods -n coditect-app
Issue: terminal Not Opening
Symptoms: terminal menu option doesn't work
Debug Steps:
- Check browser console for errors
- Try keyboard shortcut: `Ctrl+``
- Check bottom panel - terminal may be minimized
- Try "View" → "terminal" from menu
Possible Solutions:
- Refresh browser
- Check if terminal service is running in container
- Verify terminal is not blocked by browser security
Issue: File Save Not Working
Symptoms: Files don't save or changes don't persist
Debug Steps:
- Check for error messages
- Verify file permissions in terminal:
ls -la - Check if filesystem is read-only
- Look for disk space issues:
df -h
Possible Solutions:
- Try saving in different directory
- Check file permissions
- Verify OPFS/FoundationDB integration
- Contact support if persistent
Issue: Session Expires Immediately
Symptoms: Logged out after every refresh
Debug Steps:
- Check JWT expiry time (decode at jwt.io)
- Check if LocalStorage is being cleared
- Verify browser cookies enabled
- Check for browser extensions blocking storage
Possible Solutions:
- Enable cookies and LocalStorage
- Disable privacy extensions temporarily
- Use incognito mode
- Check backend JWT expiry settings
Contact & Support
If you encounter critical issues during testing:
- Document the issue using the template above
- Take screenshots of errors and console output
- Note the exact steps to reproduce
- Check existing issues in sprint-2-validation-results.md
- File new issue if unique problem found
Next Steps After Manual Testing
If All Tests Pass ✅
- Update sprint-2-validation-results.md with manual test results
- Mark Sprint 2 as FULLY VALIDATED
- Proceed to Sprint 3: .coditect migration (Phase 1 - 1 day)
- Celebrate! 🎉
If Issues Found ⚠️
- Document all issues in detail
- Prioritize: Critical vs. Minor
- Fix critical blockers before Sprint 3
- Create tickets for minor issues
- Re-test after fixes
If Critical Failures ❌
- STOP - Do not proceed to Sprint 3
- Document all failures thoroughly
- Investigate root causes
- Create detailed bug reports
- Fix and redeploy
- Re-run full validation (automated + manual)
Good luck with testing! 🚀