File size: 4,552 Bytes
fafd0bb |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 |
# 🧪 Guide de Test - Création de Questions
**Développé par Marino ATOHOUN pour Hypee**
## ✅ Fonctionnalité Implémentée
La création de questions est maintenant **100% fonctionnelle** et connectée à l'API Django !
---
## 🚀 Comment Tester
### 1. **Vérifier que les serveurs tournent**
```bash
# Terminal 1 - Backend
cd backend
python3 manage.py runserver
# Serveur sur http://127.0.0.1:8000
# Terminal 2 - Frontend
cd frontend
npm run dev
# Serveur sur http://localhost:5173
```
### 2. **Créer un compte**
1. Ouvrir http://localhost:5173
2. Cliquer sur "S'inscrire"
3. Remplir le formulaire :
- Nom: Votre nom
- Email: votre@email.com
- Mot de passe: minimum 8 caractères
- Rôle: Étudiant ou Mentor
4. Soumettre
### 3. **Se connecter**
Si vous avez déjà un compte :
1. Email: votre@email.com
2. Mot de passe: votre mot de passe
3. Connexion
### 4. **Créer une Question**
1. Aller sur l'onglet "Questions"
2. Cliquer sur le bouton **"Poser une question"** (en haut à droite)
3. Remplir le formulaire dans le modal :
- **Titre** : "Comment intégrer React avec Django ?"
- **Matière** : Informatique
- **Niveau** : Licence
- **Tags** : Taper "react" puis Espace, "django" puis Espace, "api" puis Espace
- **Détails** : Expliquer votre problème en détail
4. Cliquer sur **"Publier"**
5. ✨ La question sera créée et la page rechargée automatiquement !
---
## 🎯 Résultats Attendus
### Pendant la Création
- ✅ Bouton "Publier" devient "Publication..." avec un spinner
- ✅ Tous les champs sont désactivés pendant l'envoi
- ✅ Si erreur : message d'erreur rouge s'affiche
### Après Création Réussie
- ✅ Popup "✅ Votre question a été publiée avec succès !"
- ✅ Modal se ferme automatiquement
- ✅ Page se recharge pour afficher la nouvelle question
- ✅ **+50 points** ajoutés à votre compte
- ✅ Badge "Premier Pas" débloqué (si première question)
### Dans la Base de Données
La question est stockée avec :
- ✅ Titre
- ✅ Contenu
- ✅ Tags
- ✅ Auteur (vous)
- ✅ Date de création
- ✅ Statut: Non résolu
---
## 🔍 Vérifier dans l'Admin Django
1. Ouvrir http://127.0.0.1:8000/admin/
2. Se connecter (superutilisateur créé avec `createsuperuser`)
3. Aller dans **Forum > Questions**
4. Voir votre question enregistrée !
---
## 📊 Test API Direct (Optionnel)
### Via cURL
```bash
# 1. Se connecter
curl -X POST http://127.0.0.1:8000/api/auth/login/ \
-H "Content-Type: application/json" \
-d '{"email":"test@educonnect.com","password":"Test123456"}'
# Copier le "access" token
# 2. Créer une question
curl -X POST http://127.0.0.1:8000/api/forum/questions/ \
-H "Authorization: Bearer VOTRE_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"title":"Ma nouvelle question",
"content":"Détails de ma question...",
"tags":["test","api"]
}'
```
### Réponse API Attendue
```json
{
"id": 1,
"author": {
"id": 1,
"email": "test@educonnect.com",
"role": "STUDENT",
"points": 50,
"profile": {
"name": "Test User",
"avatar": null,
"country": null,
"university": null
}
},
"title": "Ma nouvelle question",
"content": "Détails de ma question...",
"tags": ["test", "api"],
"votes": 0,
"is_solved": false,
"views_count": 0,
"answers_count": 0,
"created_at": "2025-11-29T20:17:55..."
}
```
---
## ⚠️ Troubleshooting
### Problème : "Authentification requise"
**Solution** : Assurez-vous d'être connecté
### Problème : "Données invalides"
**Solution** : Vérifiez que tous les champs requis sont remplis
### Problème : "Erreur 500"
**Solution** : Vérifiez la console du terminal backend pour voir l'erreur exacte
### Problème : La question ne s'affiche pas
**Solution** : Actualisez la page manuellement (F5)
---
## 🎓 Prochains Tests Recommandés
1. ✅ Créer plusieurs questions
2. ✅ Filtrer par "Résolu/Non résolu"
3. ✅ Rechercher des questions
4. ✅ Voter pour une question (à implémenter)
5. ✅ Répondre à une question (à implémenter)
---
## 📝 Notes Importantes
- **Authentification obligatoire** : Il faut être connecté pour créer une question
- **Tags automatiques** : La catégorie et le niveau sont automatiquement ajoutés comme tags
- **Points** : Chaque question rapporte 50 points
- **Validation** : Titre, contenu et catégorie sont obligatoires
---
**✅ La fonctionnalité est prête pour la production !**
*Développé avec ❤️ par Marino ATOHOUN pour Hypee*
|