271 lines
6.9 KiB
Markdown
271 lines
6.9 KiB
Markdown
# 🚀 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:<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!** 🎉
|