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); }
public void EditDecaissementTest() { var decDAO = new DecaissementDAO(sqlManager); DecaissementDTO DTOTmp1 = 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" }; DecaissementDTO DTOTmp2 = new DecaissementDTO() { banque = "HSBC", date_compta = "25/5/2019", date_operation = "3/02/2019", date_valeur = "27/02/2017", mode_paiement = "CHQ", montant_ttc = "3", operation = "unitTestDecaissement2" }; decDAO.SaveDraftDecaissement(DTOTmp1); var result = JsonConvert.DeserializeObject <List <ExpectedDraftDecaissement> >(decDAO.GetDraftDecaissement()); DTOTmp2.id = result[0].id; decDAO.EditDecaissement(DTOTmp2); result = JsonConvert.DeserializeObject <List <ExpectedDraftDecaissement> >(decDAO.GetDraftDecaissement()); Assert.IsTrue(result[0].banque == DTOTmp2.banque); Assert.IsTrue(Convert.ToDateTime(result[0].date_compta) == Convert.ToDateTime(DTOTmp2.date_compta)); Assert.IsTrue(Convert.ToDateTime(result[0].date_operation) == Convert.ToDateTime(DTOTmp2.date_operation)); Assert.IsTrue(Convert.ToDateTime(result[0].date_valeur) == Convert.ToDateTime(DTOTmp2.date_valeur)); Assert.IsTrue(result[0].mode_paiement == DTOTmp2.mode_paiement); Assert.IsTrue(Double.Parse(result[0].montant_ttc.Replace('.', ',')) == Double.Parse(DTOTmp2.montant_ttc.Replace('.', ','))); Assert.IsTrue(result[0].operation == DTOTmp2.operation); Assert.IsTrue(result[0].compte.Equals("compte 1 HSBC")); DTOTmp2.banque = "BNP"; DTOTmp2.compte = "compte 2 BNP"; decDAO.EditDecaissement(DTOTmp2); result = JsonConvert.DeserializeObject <List <ExpectedDraftDecaissement> >(decDAO.GetDraftDecaissement()); Assert.IsTrue(result[0].compte.Equals("compte 2 BNP")); }
public void GetDraftDecaissementTest() { 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 result = JsonConvert.DeserializeObject <List <ExpectedDraftDecaissement> > (decDAO.GetDraftDecaissement()); Assert.IsTrue(result[0].banque == DTOTmp.banque); Assert.IsTrue(Convert.ToDateTime(result[0].date_compta) == Convert.ToDateTime(DTOTmp.date_compta)); Assert.IsTrue(Convert.ToDateTime(result[0].date_operation) == Convert.ToDateTime(DTOTmp.date_operation)); Assert.IsTrue(Convert.ToDateTime(result[0].date_valeur) == Convert.ToDateTime(DTOTmp.date_valeur)); Assert.IsTrue(result[0].mode_paiement == DTOTmp.mode_paiement); Assert.IsTrue(Double.Parse(result[0].montant_ttc.Replace('.', ',')) == Double.Parse(DTOTmp.montant_ttc.Replace('.', ','))); Assert.IsTrue(result[0].operation == DTOTmp.operation); }
public void DeleteDecaissementTest() { 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 result = JsonConvert.DeserializeObject <List <ExpectedDraftDecaissement> >(decDAO.GetDraftDecaissement()); Assert.IsTrue(result.Count == 1); decDAO.DeleteDecaissement(result[0].id); result = JsonConvert.DeserializeObject <List <ExpectedDraftDecaissement> >(decDAO.GetDraftDecaissement()); Assert.IsTrue(result.Count == 0); }
public void GetPositionPeriode() { var decaissementDAO = new DecaissementDAO(sqlManager); var encaissementDAO = new EncaissementDAO(sqlManager); var compteDAO = new CompteDAO(sqlManager); //on s'assure qu'au début, la position est à zero string retour = compteDAO.GetTotalPositionAtInterval(DateTime.Now.ToString("dd/MM/yyyy"), DateTime.Now.ToString("dd/MM/yyyy"), "annee"); var resultPosition = JsonConvert.DeserializeObject <List <ExpectedPositionInterval> >(retour); Assert.AreEqual(0, double.Parse(resultPosition[0].position.Replace('.', ','))); //on enregistre un decaissement non validé var decaissement1 = new DecaissementDTO() { banque = "BNP", date_compta = "20/02/2019", date_valeur = "20/02/2019", date_operation = "20/02/2019", mode_paiement = "CHQ", operation = "unitTestDec1", montant_ttc = "12.2" }; decaissementDAO.SaveDraftDecaissement(decaissement1); retour = decaissementDAO.GetDraftDecaissement(); var resultDecaissement = JsonConvert.DeserializeObject <List <DecaissementDTO> >( decaissementDAO.GetDraftDecaissement()); decaissement1.id = resultDecaissement[0].id; var listClassif = JsonConvert.DeserializeObject <Dictionary <string, List <SousClassificationDTO> > >( new ClassificationDAO(sqlManager).GetClassification()); decaissement1.id_sous_classification = listClassif["ADMINISTRATIF"][1].id; decaissement1.mois_valeur = "2"; //on valide le decaissement decaissementDAO.ValidateDecaissement(decaissement1); retour = compteDAO.GetTotalPositionAtInterval("07/06/2019", "07/06/2019", "jours"); resultPosition = JsonConvert.DeserializeObject <List <ExpectedPositionInterval> >(retour); //on s'assure que la postition après le decaissement as bien changé Assert.AreEqual(-12.2, double.Parse(resultPosition[0].position.Replace('.', ','))); retour = compteDAO.GetTotalPositionAtInterval("13/01/2019", "13/01/2019", "jours"); resultPosition = JsonConvert.DeserializeObject <List <ExpectedPositionInterval> >(retour); //on s'assure que la position AVANT le decaissement reste inchangé Assert.AreEqual(0, double.Parse(resultPosition[0].position.Replace('.', ','))); var encaissement = new EncaissementDTO() { banque = "HSBC", compte = "compte 1 HSBC", mode_paiement = "CHQ", total_ttc = "20", societe = "UNO", date_reglement = "14/05/2019" }; encaissementDAO.SaveEncaissement(encaissement); retour = compteDAO.GetTotalPositionAtInterval("07/06/2019", "07/06/2019", "jours"); resultPosition = JsonConvert.DeserializeObject <List <ExpectedPositionInterval> >(retour); //on s'assure que la position prend en compte les encaissement et decaissement meme sur différentes banque/compte Assert.AreEqual(7.8, double.Parse(resultPosition[0].position.Replace('.', ','))); encaissement = new EncaissementDTO() { banque = "HSBC", compte = "compte 1 HSBC", mode_paiement = "CHQ", total_ttc = "20", societe = "UNO", date_reglement = "14/05/2017" }; encaissementDAO.SaveEncaissement(encaissement); retour = compteDAO.GetTotalPositionAtInterval("07/06/2018", "07/06/2018", "jours"); resultPosition = JsonConvert.DeserializeObject <List <ExpectedPositionInterval> >(retour); //on s'assure que la position prend en compte l'encaissement en 2018 et ignore les mouvements ulterieurs Assert.AreEqual(20, double.Parse(resultPosition[0].position.Replace('.', ','))); retour = compteDAO.GetTotalPositionAtInterval("07/06/2019", "07/06/2019", "jours"); resultPosition = JsonConvert.DeserializeObject <List <ExpectedPositionInterval> >(retour); //on s'assure que la position prend en compte tout les mouvements, peut importe le compte ou l'année Assert.AreEqual(27.8, double.Parse(resultPosition[0].position.Replace('.', ','))); }