import pytest
from fastapi.testclient import TestClient
from app.main import app
from app.services.classifier_service import classificar_text, decidir_context
client = TestClient(app)

def test_classificar_text_digi():
    text = "Diguem els requisits dels projectes de digitalització."
    resultat = classificar_text(text)
    assert resultat.strip().lower() == "digi"

def test_classificar_text_rsu():
    text = "Quan puc presentar el meu projecte rsu?"
    resultat = classificar_text(text)
    assert resultat.strip().lower() == "rsu"

def test_classificar_text_pmid():
    text = "Que es un projecte d'innovació?"
    resultat = classificar_text(text)
    assert resultat.strip().lower() == "pmid"

def test_classificar_text_grups():
    text = "Qui pot formar part d'un grup d'innovació?"
    resultat = classificar_text(text)
    assert resultat.strip().lower() == "grups"

def test_classificar_text_digi2():
    text = "Vull fer un projecte que impliqui fer una app mòbil."
    resultat = classificar_text(text)
    assert resultat.strip().lower() == "digi"

def test_classificar_text_pmid2():
    text = "Estic pensant un projecte que impliqui implementar aula inversa com a proposta"
    resultat = classificar_text(text)
    assert resultat.strip().lower() == "pmid"

def test_classificar_text_rsu2():
    text = "Vull fer un projecte que impliqui fer un projecte sobre la sostenibilitat ecològica"
    resultat = classificar_text(text)
    assert resultat.strip().lower() == "rsu"

def test_classificar_llm_pmid():
    text = "Quiero presentar un prooyecto de aula inversa"
    resultat = classificar_text(text)
    assert resultat.strip().lower() == "pmid"

def test_classificar_llm_pmid_english():
    text = "I want to present a project of flipped classroom"
    resultat = classificar_text(text)
    assert resultat.strip().lower() == "pmid"


def test_mantenir_context():
    context_actiu = "digi"
    ultima_pregunta = "Què és un projecte de digitalització?"
    nova_pregunta = "Quins son els requisits?"

    assert decidir_context(context_actiu, ultima_pregunta, nova_pregunta) == "digi"

def test_canviar_context():
    context_actiu = "digi"
    ultima_pregunta = "Què és un projecte de digitalització?"
    nova_pregunta = "Quins son els requisits d'inclusió social?"

    assert decidir_context(context_actiu, ultima_pregunta, nova_pregunta) == "rsu"


def test_millora_docent_individual():
    text = "Vull millorar com a professor i implementar noves metodologies d'ensenyament."
    resultat = classificar_text(text)
    assert resultat.strip().lower() == "millora docent individual"

def test_millora_docent_individual2():
    text = "Com puc millorar com a docent?"
    resultat = classificar_text(text)
    assert resultat.strip().lower() == "millora docent individual"

def test_millora_docent_individual3():
    text = "Com puc millorar"
    resultat = classificar_text(text)
    assert resultat.strip().lower() == "millora docent individual"