from django.test import TestCase
from rest_framework.test import APITestCase
from rest_framework import status
from unittest.mock import patch, MagicMock

class KnowledgePromptTests(APITestCase):
    def setUp(self):
        # ... existing code ...
        self.url = '/prompt/knowledge/'  # Ajustez l'URL selon votre configuration
        self.test_data = {
            'prompt': 'Dis moi ce que tu sais sur les oranges',
            'text': '',
            'images': []
        }

    def test_streaming_response(self):
        # Envoi de la requête
        response = self.client.post(self.url, self.test_data, format='json')
        
        # Vérifications
        self.assertEqual(response.status_code, status.HTTP_200_OK)
        
        # Debug: affichons le contenu au fur et à mesure du streaming
        print("\nContenu du stream en temps réel:")
        content_parts = []
        for chunk in response.streaming_content:
            chunk_content = chunk.decode('utf-8')
            print(f"Chunk reçu: {chunk_content}")
            content_parts.append(chunk_content)
        
        # Assemblage du contenu complet pour les vérifications
        content = ''.join(content_parts)
        
        # Vérifie que la réponse n'est pas vide
        self.assertTrue(len(content) > 0)
