예제 #1
0
        public void ValidateDecaissement()
        {
            var             decDAO = new DecaissementDAO(sqlManager);
            DecaissementDTO DTOTmp = new DecaissementDTO()
            {
                banque         = "BNP",
                date_compta    = "25/02/2019",
                date_operation = "26/02/2019",
                date_valeur    = "27/02/2019",
                mode_paiement  = "AUCUN",
                montant_ht     = "1000",
                montant_ttc    = "1200.12",
                operation      = "unitTestDecaissement1"
            };

            decDAO.SaveDraftDecaissement(DTOTmp);
            var resultNotValidated = JsonConvert.DeserializeObject <List <DecaissementDTO> >(decDAO.GetDraftDecaissement());
            var resultValidated    = JsonConvert.DeserializeObject <List <DecaissementDTO> >(decDAO.GetValidatedDecaissements());

            Assert.IsTrue(resultNotValidated.Count > 0);
            Assert.IsTrue(resultValidated.Count == 0);
            DTOTmp.id = resultNotValidated[0].id;
            decDAO.ValidateDecaissement(DTOTmp);
            resultValidated = JsonConvert.DeserializeObject <List <DecaissementDTO> >(decDAO.GetValidatedDecaissements());
            //ne devrait pas pouvoir valider un decaissement sans sous classif
            Assert.IsTrue(resultValidated.Count == 0);
            var listClassif = JsonConvert.DeserializeObject <Dictionary <string, List <SousClassificationDTO> > >(
                new ClassificationDAO(sqlManager).GetClassification());

            DTOTmp.id_sous_classification = listClassif["ADMINISTRATIF"][1].id;
            DTOTmp.mois_valeur            = "2";
            decDAO.ValidateDecaissement(DTOTmp);
            resultValidated = JsonConvert.DeserializeObject <List <DecaissementDTO> >(decDAO.GetValidatedDecaissements());
            Assert.IsTrue(resultValidated.Count == 1);
        }
예제 #2
0
        public void GetAllAccountPositionAtDate()
        {
            var decaissementDAO   = new DecaissementDAO(sqlManager);
            var encaissementDAO   = new EncaissementDAO(sqlManager);
            var compteDAO         = new CompteDAO(sqlManager);
            var classificationDAO = new ClassificationDAO(sqlManager);

            var resultPosition = GetTotalPosition(compteDAO);

            //on s'assure qu'au début, la position est à zero
            Assert.AreEqual(0, resultPosition);
            string retour = encaissementDAO.SaveEncaissement(new EncaissementDTO()
            {
                banque         = "BNP",
                compte         = "compte 2 BNP",
                total_ttc      = "12",
                date_reglement = "02/06/2019"
            });

            resultPosition = GetTotalPosition(compteDAO);
            Assert.AreEqual(12, resultPosition);

            //on fait un deuxieme encaissement dans un autre compte
            retour = encaissementDAO.SaveEncaissement(new EncaissementDTO()
            {
                banque         = "HSBC",
                total_ttc      = "13",
                date_reglement = "02/06/2019"
            });
            resultPosition = GetTotalPosition(compteDAO);

            Assert.AreEqual(25, resultPosition);
            //on fait un troisieme encaissement, mais en 2020 pour etre sur qu'il n'est pas comptabilisé
            retour = encaissementDAO.SaveEncaissement(new EncaissementDTO()
            {
                banque         = "BPOP",
                total_ttc      = "11",
                date_reglement = "01/01/2020"
            });
            resultPosition = GetTotalPosition(compteDAO);
            Assert.AreEqual(25, resultPosition);


            string retour1 = decaissementDAO.SaveDraftDecaissement(new DecaissementDTO()
            {
                operation       = "test",
                banque          = "BNP",
                montant_ttc     = "9.5",
                date_operation  = "05/06/2019",
                date_compta     = "05/06/2019",
                date_valeur     = "05/06/2019",
                facture_verifie = "1"//ne devrai pas etre pris en compte
            });

            retour = JsonConvert.DeserializeObject <List <ExpectedReturn> >(retour1)[0].retour;
            //on s'assure qu'un decaissement non validé n'est pas pris en compte
            resultPosition = GetTotalPosition(compteDAO);
            Assert.AreEqual(25, resultPosition);


            string idSousCLass = "";
            var    dicoRetour  = JsonConvert.DeserializeObject
                                 <Dictionary <string, List <SousClassificationDTO> > >(
                classificationDAO.GetClassification());

            foreach (var item in dicoRetour)
            {
                idSousCLass = item.Value[0].id;
                break;
            }


            Assert.AreEqual(25, resultPosition);
            var retour2 = decaissementDAO.ValidateDecaissement(new DecaissementDTO()
            {
                id = retour,
                id_sous_classification = idSousCLass,
                mois_valeur            = "6"
            });
            var resultValidated = JsonConvert.DeserializeObject <List <DecaissementDTO> >(decaissementDAO.GetValidatedDecaissements());

            Assert.IsTrue(resultValidated.Count == 1);

            resultPosition = GetTotalPosition(compteDAO);

            Assert.AreEqual(15.5, resultPosition);
        }