7.7 KiB
7.7 KiB
📋 TESTING CHECKLIST - TelurKu Firebase Integration
✅ Konfigurasi yang Sudah Selesai
1. Logo ✅
- Path updated:
assets/icons/telurku.png - Logo akan ditampilkan di Landing Page dalam container circular putih
- Fallback emoji jika file tidak ditemukan
2. Firebase Configuration ✅
- Firebase Core terintegrasi di main.dart
- Firebase Options untuk Android sudah dikonfigurasi
- Project ID:
telurku-fa78c - API Key:
AIzaSyCwF_fiwc1Cpsy570bvCYijRjHi1sd8n8U - App ID:
1:22111260761:android:d9b30f13c92df54a002148 - Messaging Sender ID:
22111260761
- Project ID:
- Firebase Options method sudah mendukung multiple platform (Android, iOS, Web, Windows, Linux, macOS)
- Platform auto-detection sudah bekerja
3. Authentication ✅
- Firebase Auth Provider sudah siap
- Email/Password authentication ready
- Error handling dengan pesan Bahasa Indonesia
- Auto-redirect based on login status
4. UI/UX ✅
- Landing Page dengan logo dan tombol Masuk/Daftar
- Login Page dengan form validation
- Signup Page dengan form lengkap
- Home/Dashboard Page setelah login
- Design sudah sesuai dengan mockup
🧪 TEST PLAN
Test 1: Landing Page Loading
Expected Result:
- Aplikasi membuka ke Landing Page
- Logo TelurKu (
telurku.png) tampil di container circular putih - Taxt "TelurKu" dan tagline "Kelola Peternakan Ayam Anda dengan Mudah" terlihat
- Tombol "Masuk" berwarna kuning (#F4D03F)
- Tombol "Daftar Akun Baru" berwarna oranye border
// Testing code untuk cek di console
print('Landing Page Loaded: Logo path = assets/icons/telurku.png');
Test 2: Navigation - Masuk Button
Steps:
- Klik tombol "Masuk" di Landing Page
- Tunggu 1 detik untuk transition
Expected Result:
- Navigasi ke Login Page berhasil
- Login Page menampilkan field Email dan Password
- Form sudah siap untuk input
Test 3: Navigation - Daftar Button
Steps:
- Dari Landing Page, klik "Daftar Akun Baru"
- Atau dari Login Page, klik "Daftar di sini"
Expected Result:
- Navigasi ke Signup Page berhasil
- Form daftar dengan field: Nama, Email, Password, Konfirmasi Password
- Checkbox Terms & Conditions muncul
Test 4: Signup dengan Firebase Connection
Steps:
- Buka Signup Page
- Isi form:
Nama: Test User Email: testuser@example.com Password: Test@123456 Konfirmasi Password: Test@123456 ✓ Setuju Terms - Klik tombol "Daftar"
Expected Result:
- Loading indicator muncul di tombol
- Tidak ada error (seharusnya)
- Setelah sukses, otomatis login
- Navigate ke Home Page
- Greeting menampilkan "Test User"
Jika Ada Error:
- Catat error message
- Check Firebase Console untuk melihat user baru di Authentication
- Verifikasi credentials di
lib/firebase_options.dart
Test 5: Login dengan Firebase Connection
Steps:
- Buka Landing Page
- Klik "Masuk"
- Isi form:
Email: testuser@example.com Password: Test@123456 - Klik tombol "Masuk"
Expected Result:
- Loading indicator muncul
- Firebase Auth berhasil autentikasi
- Redirect ke Home Page
- Greeting menampilkan "Test User"
- User avatar berisi huruf "T"
Test 6: Error Handling - Wrong Password
Steps:
- Go to Login Page
- Isi dengan email benar tapi password salah:
Email: testuser@example.com Password: WrongPassword123 - Klik "Masuk"
Expected Result:
- Error message: "Password salah."
- SnackBar/Toast menampilkan error
- Tetap di Login Page (tidak proceed)
Test 7: Error Handling - Email Not Found
Steps:
- Go to Login Page
- Isi dengan email yang belum terdaftar:
Email: notregistered@example.com Password: Password123 - Klik "Masuk"
Expected Result:
- Error message: "Email tidak terdaftar."
- SnackBar menampilkan error
- Tetap di Login Page
Test 8: Logout
Steps:
- Setelah login, berada di Home Page
- Klik avatar profile di top-right appbar
- Pilih "Logout"
Expected Result:
- Loading indicator muncul sebentar
- Redirect ke Landing Page
- Tidak ada data user yang tersimpan
Test 9: Firebase Console Verification
Steps:
- Buka Firebase Console
- Pilih project "telurku-fa78c"
- Go to Authentication tab
Expected Result:
- User yang didaftar melalui app muncul di list
- Email dan Timestamp sudah tercatat
- Sign-in method: Email/Password
🛠️ Troubleshooting
Error: "Firebase initialization failed"
Cause: firebase_options.dart credentials tidak match dengan Firebase project Solution:
- Buka Firebase Console
- Go to Project Settings
- Bandingkan dengan
lib/firebase_options.dart - Update manual jika ada perbedaan
Error: "Null check operator used on a null value"
Cause: Login state belum loading Solution:
- Tunggu dialog loading selesai
- Cek internet connection
- Restart app (R untuk Hot Restart)
Error: "CORS error" (Web platform)
Cause: Web Firebase configuration belum setup Solution:
- Update
firebase_options.dartweb credentials - Setup Firebase untuk web platform di Console
- Enable Authorization header di CORS
Logo tidak tampil
Cause: Asset path atau file tidak ada Solution:
1. Verify file ada di: assets/icons/telurku.png
2. Run: flutter clean && flutter pub get
3. Hot Restart (Shift+Ctrl+F5)
📊 Firebase Connection Status
Android ✅ READY
- Project ID:
telurku-fa78c - Authentication: Email/Password ✅
- Firestore: Ready (optional)
- App ID:
1:22111260761:android:d9b30f13c92df54a002148
iOS ⚠️ PENDING
- Needs: GoogleService-Info.plist
- Setup: Generate from Firebase Console
- Status: Not yet configured
Web ⚠️ PENDING
- Needs: Web API Key & credentials
- Setup: Add to firebase_options.dart
- Status: Placeholder only
Windows ⚠️ PENDING
- Status: Requires Developer Mode on Windows
- Note: Not required for MVP
🚀 How to Run Tests
Method 1: Android Physical Device
# Connect Android device via USB
flutter devices
flutter run -d <device_id>
Method 2: Android Emulator
# Open Android Emulator first, then:
flutter run -d emulator-5554
Method 3: Chrome Web (Limited)
# Will work after web Firebase config
flutter run -d chrome
Method 4: Windows Desktop (Requires Developer Mode)
# Enable Developer Mode first, then:
flutter run -d windows
✨ Test Results Template
### Test Run: [DATE]
#### Environment:
- Device: [Android/iOS/Web/Windows]
- Flutter Version: [VERSION]
- Firebase Project: telurku-fa78c
#### Results:
- Landing Page: ✅/❌
- Logo Display: ✅/❌
- Navigation (Login): ✅/❌
- Navigation (Signup): ✅/❌
- Signup + Firebase: ✅/❌
- Login + Firebase: ✅/❌
- Error Handling: ✅/❌
- Logout: ✅/❌
- Firebase Console: ✅/❌
#### Issues Found:
1. [Issue description]
2. [Issue description]
#### Notes:
[Additional observations]
📝 Command Reference
| Command | Purpose |
|---|---|
flutter clean |
Clear build cache |
flutter pub get |
Install dependencies |
flutter run -d <device> |
Run app |
r |
Hot reload |
R |
Hot restart |
q |
Quit app |
flutter devices |
List available devices |
🎯 Next Steps After Testing
- ✅ Verify Firebase connection for Android
- ⏳ Setup Firebase for iOS (if needed)
- ⏳ Setup Firebase for Web (if needed)
- ⏳ Add Real-time Database features
- ⏳ Implement dashboard with live data
Last Updated: 13 Feb 2026 Status: Ready for Testing ✅