didi-lot3-frontend/extension/TESTING.md
Top Clossers cec967f953 Livrare Lot 3 (Frontend): aplicație web, aplicație mobilă Android, extensie browser
- Surse complete web (React/Vite) + mobil (React Native/Expo) + extensie (MV3)
- Documentație de livrare: ghid utilizare, matrice trasabilitate cerințe, raport testare furnizor
- Artefacte binare: imagine Docker didi-frontend:lot3-1.0, APK, extensie v3.2.6 + SHA256SUMS
- Configurare adresă platformă externalizată (build args / .env / config.js)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 12:40:40 +03:00

207 lines
4.6 KiB
Markdown

# 🧪 DIDI Extension - Testing Guide
## 📦 Instalare Extensie
1. Deschide Chrome/Edge
2. Navighează la `chrome://extensions`
3. Activează **Developer mode** (toggle în dreapta sus)
4. Click **Load unpacked**
5. Selectează folderul `browser-extension`
## ✅ Test 1: Enhanced Post Extraction
### Pași:
1. **Mergi pe Facebook** (https://facebook.com)
2. **Deschide extensia** (click pe icon în toolbar)
3. **Click pe "📋 Extract Post Content"**
4. **Hover peste un post** - ar trebui să vezi bordură albastră
5. **Click pe post**
### Ce ar trebui să vezi:
**Notificare pe pagină** (colț dreapta sus):
```
✓ Extracted: text+image
📝 Text: 250 chars
🖼️ Images: 2
🔗 Links: 1
Click extension icon to view details
```
**În extensie** (când o redeschizi):
- Tab-ul Facebook activ
- Preview cu tot conținutul extras:
```
📝 Type: text+image
👤 Author: Numele Autorului
💬 Text:
Textul postării... (primele 200 caractere)
🖼️ Images: 2 found
1. 1200x800px
2. 800x600px
🔗 External Links: 1 found
1. https://example.com/...
🔗 Post URL: https://facebook.com/...
⏰ 2h ago
```
✅ **Butoane disponibile**:
- 🚀 Send to Analysis
- 💾 Save
- 🗑️ Clear
### Debug (dacă nu merge):
1. **Deschide Console** (F12) pe Facebook
2. Caută logging de tip:
```
[DIDI] Content script initialized
[FB] Starting Facebook extraction...
[FB] Extraction complete: {...}
[DIDI] Content stored in chrome.storage
```
3. **Verifică chrome storage**:
- În Console scrie:
```javascript
chrome.storage.local.get(null, (data) => console.log(data))
```
---
## ✂️ Test 2: Snipping Tool
### Pași:
1. **Mergi pe orice site** (inclusiv Facebook)
2. **Deschide extensia**
3. **Click pe "✂️ Snipping Tool (Screenshot)"**
4. **Click și drag** pentru a selecta o zonă
### Ce ar trebui să vezi:
✅ **Overlay semi-transparent** peste toată pagina
✅ **Dreptunghi de selecție** (bordură teal) când tragi mouse-ul
✅ **Notificare**: "📸 Screenshot captured! Coordinates: {...}"
✅ **ESC** pentru cancel
### Debug (dacă nu merge):
1. **Console logging**:
```
[DIDI] Snipping mode activating...
[DIDI] Snip complete: {left: 100, top: 200, width: 500, height: 300}
[DIDI] Snip sent to background: {...}
```
---
## 🚀 Test 3: Send to Backend
### Pași:
1. **Extrage conținut** (Test 1)
2. **Click "🚀 Send to Analysis"**
### Ce ar trebui să vezi:
✅ Status message: "Sending to analysis..."
❌ Apoi error (normal, backend nu e pornit):
```
❌ Failed to send: Backend returned 404
sau
❌ Failed to send: Failed to fetch
```
### Pentru ca să meargă:
Trebuie să ai backend pornit la:
```
POST http://localhost:3001/api/analyze
Body:
{
"platform": "facebook",
"data": {
"platform": "facebook",
"type": "text+image",
"author": "...",
"text": "...",
"images": [...],
"links": [...],
...
},
"timestamp": "2025-01-15T..."
}
```
---
## 🐛 Common Issues
### "Please refresh the page"
- **Fix**: Refresh Facebook după ce instalezi extensia
### "No content found"
- **Verifică**: Click exact pe zona postării, nu pe butonul Like/Comment
- **Verifică**: Console pentru erori
### Popup-ul nu arată conținutul
- **Fix**: Click din nou pe icon extensie
- **Verifică**: Chrome storage (instrucțiuni mai sus)
### Snipping nu apare overlay-ul
- **Fix**: Refresh pagina
- **Verifică**: Console pentru erori
---
## 📊 Chrome DevTools Tips
### Debugging Popup:
1. Click dreapta pe icon extensie
2. "Inspect popup"
3. Console pentru logging
### Debugging Content Script:
1. F12 pe Facebook
2. Console tab
3. Caută `[DIDI]`, `[FB]`
### View Storage:
```javascript
// Get all storage
chrome.storage.local.get(null, console.log)
// Clear storage
chrome.storage.local.clear()
// Get specific key
chrome.storage.local.get(['facebook_content'], console.log)
```
---
## ✅ Checklist Complet
- [ ] Extensia se încarcă fără erori
- [ ] Logo "didi" apare corect în header
- [ ] Butonul "Extract Post Content" funcționează
- [ ] Butonul "Snipping Tool" funcționează
- [ ] Notificări apar pe pagină
- [ ] Content-ul apare în popup
- [ ] Toate imaginile sunt extrase
- [ ] Link-urile externe sunt extrase
- [ ] "Send to Analysis" trimite request (chiar dacă fail)
- [ ] "Save" salvează în storage
- [ ] Tab "Saved" arată extractions
---
**Întrebări? Issues? Check Console logging!** 🔍