from banbou import creer_liste
from banbou import afficher
from banbou import _Fichier


def test_doit_creer_la_liste(mocker):
    
    dossier_courant = r"C:\Users\David_Castex\Documents\DATAS\GITDAV\NEOBANBOU\test\JEUXDONNEES\dossier00"
    list_sousdossiers = []
    list_fichiers = ["fichier01.csv", "fichier02.pdf"]

    value = [(dossier_courant, list_sousdossiers, list_fichiers)] # os.walk renvoie bien une LISTE de tuples (chaque tuple representant le contenu du dossier courant qu'il parcourt), même si ya qu'un seul tuple

    print(f"value = {value}")

    mock = mocker.patch("os.walk", return_value = value)
    #mock02 = mocker.patch("banbou.lire", return_value = )

    sut = creer_liste(dossier_courant)

    afficher(sut)

    assert sut[0].nom == "fichier01"
    assert sut[1].nom == "fichier02"

def test_doit_creer_liste_depuis_un_dossier_complexe(mocker, capsys):

    # j'ai pas mocker le dossier, c'est un vrai dossier utilisé pour faire le test
    dossier = r"C:\Users\David_Castex\Documents\DATAS\GITDAV\NEOBANBOU\test\JEUXDONNEES\DIS_AXR08_PT802161"

    sut = creer_liste(dossier)

    # ATTENTION pour ce test VÉRIFIEZ PRÉALABLEMENT qu'un vieux dossier "Travail ne soit pas déja
    # créé par les tests précédents. Si tel est le cas EFFACER le dossier "Travail"
    assert f"{sut[0].nom}.{sut[0].extension}" == "DIS.pdf"
    assert f"{sut[1].nom}.{sut[1].extension}" == "DIS_AXR08_PT802161.csv"
    assert f"{sut[2].nom}.{sut[2].extension}" == "DIS_AXR08_PT802161.dwg"
    assert f"{sut[3].nom}.{sut[3].extension}" == "DIS_AXR08_PT802161.pdf"
    assert f"{sut[4].nom}.{sut[4].extension}" == "fichier_a_ignorer_lors_de_la_copie.txt"





