from banbou import remplir_VISA
from banbou import _Notification
import banbou
from openpyxl import workbook



# NOTE: les jeux de données de ces tests sont dans le dossier "dossier02"
# NOTE: Il faut un dossier Travail dans le même dossier que le script banbou, en effet le script place le VISA rempli à cet emplacement là
# Je vais test de mocker : classeur.save(f"Travail\\{projet.nom}_VISA.xlsx") pour enregeistrer la ou je veux pour mon test

# TODO: mocker la focntion save de openpyxl, pour sauvegarder dans le bon dossier Travail dans le dossier02 PAS REUSSI ENCORE A MOCKER JUSTE DES PARAMETRES DE METHODES


def test_notifie_correctement_le_visa(mocker):

    # donnée du projet utilisé
    # projet.nom
    # projet.date
    # projet.nb_dwgs
    # projet.controles
    # projet.nb_pdfs
    # projet.nb_csvs
    # projet.nb_releves
    # projet.notifs
    # projet.nb_points








    class MockResponse:
        def __init__(self):
            self.nom = "FIBER"
            self.date = "20001225"
            self.nb_dwgs = 1
            self.controles = 0
            self.nb_pdfs = 1
            self.nb_csvs = 1
            self.nb_releves = 1
            self.notifs = [_Notification("CSV", "Il manque un point..."), _Notification("PDF", "Nom trop long."), _Notification("CSV", "Encore un point de manqué.")]
            self.nb_points = 38

    mocker.patch("banbou._Projet", return_value = MockResponse())

    sut = banbou._Projet()

    modele = r"C:\Users\David_Castex\Documents\DATAS\GITDAV\NEOBANBOU\test\JEUXDONNEES\dossier02\Visa_banbou03.xlsx"

    remplir_VISA(modele, sut)