6.9 KiB
🚀 Quick Testing Guide - Start Here!
Your FocusBuddy app is running successfully in Edge browser!
✅ Current Status
✅ App compiled successfully
✅ Running in Edge browser
✅ Database initialized (Hive)
✅ Hot reload enabled
✅ All 5 screens implemented
🎯 Quick 10-Minute Test Flow
Follow this streamlined test to verify all core features work:
Test 1: Check Home Screen (30 seconds)
- Open your Edge browser
- You should see "FocusBuddy" title
- Check: "25 minutes" is displayed
- ✅ Pass if: UI looks good, buttons visible
Test 2: Change Settings (1 minute)
- Click "Settings" button
- Click "15 minutes" option
- Observe the green checkmark
- Click back arrow to return home
- ✅ Pass if: Home now shows "15 minutes"
Test 3: Quick Focus Session (2 minutes)
⚠️ Important: To test quickly without waiting 15 minutes, I can modify the timer to use seconds instead. Should I do that?
For now, let's test the UI:
- Click "Start Focusing"
- Observe timer screen
- Check timer is counting down from 15:00
- ✅ Pass if: Timer updates every second
Test 4: Distraction Button - Critical! (1 minute)
This is the core feature - must work perfectly:
- While timer is running, click "I got distracted"
- Critical check: Timer should KEEP RUNNING (not pause!)
- Look for message: "It happens. Let's gently come back."
- Bottom sheet appears with 4 distraction types
- Click "📱 Scrolling social media"
- Click "I got distracted" again
- Select "💭 Just zoned out"
- Observe distraction counter increases
- ✅ Pass if: Timer NEVER stops, distractions recorded
Test 5: Pause/Resume (30 seconds)
- Click "Pause" button
- Observe timer stops
- Wait 5 seconds
- Click "Resume"
- ✅ Pass if: Timer continues from paused time
Test 6: Stop Early (1 minute)
- Click "Stop session" button
- Read confirmation dialog
- Click "Yes, stop"
- You should land on Complete Screen
- Check: Shows actual minutes focused (e.g., "2 minutes")
- Check: Shows distraction count (should be 2 from Test 4)
- Check: Shows random encouragement message
- ✅ Pass if: All stats are correct
Test 7: View History (1 minute)
- Click "View History" button
- Observe "📅 Today" summary card
- Check: Total minutes displayed
- Check: Distraction count displayed
- Scroll down to see your session listed
- Session should show: time, duration, "⏸️ Stopped early" badge
- ✅ Pass if: Data matches what you just did
Test 8: Complete Another Session (2 minutes)
- Go back to Home
- Click "Start Focusing" again
- Let it run for 30 seconds (no distractions this time)
- Click "Stop session" → "Yes, stop"
- Go to History
- Check: Now shows 2 sessions
- Check: Total minutes increased
- ✅ Pass if: Both sessions listed
Test 9: Data Persistence (1 minute)
- In the terminal, press
R(capital R) to hot restart - Or close and reopen browser tab
- Go to History
- ✅ Pass if: Your sessions are still there!
Test 10: About & Privacy (30 seconds)
- Go to Settings
- Click "Privacy Policy"
- Read dialog, click "Close"
- Click "About FocusBuddy"
- Read dialog, click "Close"
- ✅ Pass if: Dialogs display properly
🎊 If All Tests Pass
Congratulations! Your MVP is working perfectly.
✅ What This Means:
- All core features work
- Data persistence works
- UI is functional
- No critical bugs
📋 Next Steps:
- See TEST_REPORT.md for 20 detailed test cases
- Test on Android/iOS devices
- Polish UI if needed
- Add notifications (optional)
- Prepare app store assets
🐛 If Something Doesn't Work
How to Report Issues:
For each problem, note:
- Which test failed? (Test 1-10)
- What happened? (exact error message or behavior)
- What did you expect? (correct behavior)
Common Issues & Fixes:
Issue: Timer doesn't update every second
Fix: Check browser console (F12) for JavaScript errors
Issue: Distraction button pauses timer
Fix: This is a critical bug - needs code fix in focus_screen.dart
Issue: History is empty after restart
Fix: Hive database issue - check initialization
Issue: Settings don't persist
Fix: SharedPreferences issue
🔥 Hot Reload Commands
While testing, you can use these in the terminal:
r- Hot reload (fast, keeps state)R- Hot restart (full reset)c- Clear consoleq- Quit app
⚡ Speed Up Testing
Option 1: Modify Timer to Use Seconds (Temporary)
I can change the timer to count seconds instead of minutes so you don't have to wait 15 minutes per test.
Would you like me to do this?
Option 2: Test at 1x Speed
Just test the UI interactions (pause, distraction, etc.) and trust the timer logic works. You can do one full session overnight.
📊 Quick Checklist
After testing, fill this out:
✅ Home screen displays correctly
✅ Settings change duration
✅ Settings persist after reload
✅ Focus timer counts down
✅ Pause/Resume works
✅ "I got distracted" doesn't stop timer ⚠️ CRITICAL
✅ Distraction types can be selected
✅ Stop early saves partial session
✅ Complete screen shows correct stats
✅ History shows all sessions
✅ Today's summary is accurate
✅ Data persists after restart
✅ Privacy/About dialogs work
✅ Navigation works (all screens)
✅ UI looks good (colors, fonts, spacing)
🎯 The Most Important Test
Test 4 (Distraction Button) is THE MOST CRITICAL TEST.
This is the core differentiator of FocusBuddy:
"I got distracted" must NEVER pause the timer.
If this doesn't work, everything else doesn't matter. Please test this carefully!
💡 Pro Tips
- Keep the terminal visible - you'll see console logs and can hot reload
- Test distraction button multiple times - try 10+ distractions in one session
- Try edge cases - What if you tap distraction 20 times rapidly?
- Check responsive design - Resize browser window to mobile size
- Read encouragement messages - Are they emotionally appropriate?
📱 Browser Access
If you closed the browser, open a new tab and go to:
http://localhost:<port>/
The port number is shown in the terminal output. Look for:
Debug service listening on ws://127.0.0.1:XXXXX/...
Or just press R in the terminal to restart the app.
✨ Current State
🟢 App Running: Yes
🟢 Database: Initialized
🟢 Hot Reload: Enabled
⚪ Testing: Ready to start
You can start testing now!
Follow Tests 1-10 above, and report back any issues. If everything works, we'll move on to preparing for launch! 🚀
Happy Testing! 🎉