# πŸš€ 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)** 1. Open your Edge browser 2. You should see "FocusBuddy" title 3. Check: "25 minutes" is displayed 4. βœ… **Pass if**: UI looks good, buttons visible --- ### **Test 2: Change Settings (1 minute)** 1. Click **"Settings"** button 2. Click **"15 minutes"** option 3. Observe the green checkmark 4. Click **back arrow** to return home 5. βœ… **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: 1. Click **"Start Focusing"** 2. Observe timer screen 3. Check timer is counting down from 15:00 4. βœ… **Pass if**: Timer updates every second --- ### **Test 4: Distraction Button - Critical! (1 minute)** **This is the core feature - must work perfectly:** 1. While timer is running, click **"I got distracted"** 2. **Critical check**: Timer should KEEP RUNNING (not pause!) 3. Look for message: "It happens. Let's gently come back." 4. Bottom sheet appears with 4 distraction types 5. Click **"πŸ“± Scrolling social media"** 6. Click **"I got distracted"** again 7. Select **"πŸ’­ Just zoned out"** 8. Observe distraction counter increases 9. βœ… **Pass if**: Timer NEVER stops, distractions recorded --- ### **Test 5: Pause/Resume (30 seconds)** 1. Click **"Pause"** button 2. Observe timer stops 3. Wait 5 seconds 4. Click **"Resume"** 5. βœ… **Pass if**: Timer continues from paused time --- ### **Test 6: Stop Early (1 minute)** 1. Click **"Stop session"** button 2. Read confirmation dialog 3. Click **"Yes, stop"** 4. You should land on **Complete Screen** 5. Check: Shows actual minutes focused (e.g., "2 minutes") 6. Check: Shows distraction count (should be 2 from Test 4) 7. Check: Shows random encouragement message 8. βœ… **Pass if**: All stats are correct --- ### **Test 7: View History (1 minute)** 1. Click **"View History"** button 2. Observe **"πŸ“… Today"** summary card 3. Check: Total minutes displayed 4. Check: Distraction count displayed 5. Scroll down to see your session listed 6. Session should show: time, duration, "⏸️ Stopped early" badge 7. βœ… **Pass if**: Data matches what you just did --- ### **Test 8: Complete Another Session (2 minutes)** 1. Go back to **Home** 2. Click **"Start Focusing"** again 3. Let it run for 30 seconds (no distractions this time) 4. Click **"Stop session"** β†’ **"Yes, stop"** 5. Go to **History** 6. Check: Now shows **2 sessions** 7. Check: Total minutes increased 8. βœ… **Pass if**: Both sessions listed --- ### **Test 9: Data Persistence (1 minute)** 1. In the terminal, press **`R`** (capital R) to hot restart 2. Or close and reopen browser tab 3. Go to **History** 4. βœ… **Pass if**: Your sessions are still there! --- ### **Test 10: About & Privacy (30 seconds)** 1. Go to **Settings** 2. Click **"Privacy Policy"** 3. Read dialog, click **"Close"** 4. Click **"About FocusBuddy"** 5. Read dialog, click **"Close"** 6. βœ… **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: 1. See [TEST_REPORT.md](TEST_REPORT.md) for 20 detailed test cases 2. Test on Android/iOS devices 3. Polish UI if needed 4. Add notifications (optional) 5. Prepare app store assets --- ## πŸ› If Something Doesn't Work ### How to Report Issues: **For each problem, note:** 1. **Which test failed?** (Test 1-10) 2. **What happened?** (exact error message or behavior) 3. **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 console - **`q`** - 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 1. **Keep the terminal visible** - you'll see console logs and can hot reload 2. **Test distraction button multiple times** - try 10+ distractions in one session 3. **Try edge cases** - What if you tap distraction 20 times rapidly? 4. **Check responsive design** - Resize browser window to mobile size 5. **Read encouragement messages** - Are they emotionally appropriate? --- ## πŸ“± Browser Access If you closed the browser, open a new tab and go to: ``` http://localhost:/ ``` 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!** πŸŽ‰