コード例 #1
0
        public void update_montant_et_expediteur_et_recepteur_test()
        {
            moqDbContext     = new Mock <DbContextEntities>();
            moqDbSetTranfert = new Mock <DbSet <Transfert> >();
            moqDbSetCompte   = new Mock <DbSet <Compte> >();

            moqDbContext.Setup(c => c.SaveChanges()).Returns(5); // changment dans le montant et l'expediteur et le recepteur
            moqDbSetCompte.Setup(m => m.Find(It.IsAny <Object[]>())).Returns((Object[] ids) => comptes.FirstOrDefault(compte => compte.id == (int)ids[0]));
            moqDbSetTranfert.Setup(m => m.Find(It.IsAny <Object[]>())).Returns((Object[] ids) => transferts.FirstOrDefault(t => t.id == (int)ids[0]));
            moqDbSetTranfert.Setup(m => m.Add(It.IsAny <Transfert>())).Returns((Transfert t) => { transferts.Add(t); return(t); });

            transfertRepository = new TransfertRepository(moqDbContext.Object, moqDbSetTranfert.Object, moqDbSetCompte.Object);

            bool resualtat = transfertRepository.Update(new Transfert
            {
                id = 1,
                idCompteExpediteur = 3,
                idCompteRecepteur  = 4,
                montant            = 200,
                dateCreation       = new DateTime(),
                designation        = "transfert 1"
            });

            Assert.IsTrue(resualtat);                          // le update a resussie
            Assert.IsTrue(comptes.ElementAt(0).solde == 1100); // l'ancien expediteur
            Assert.IsTrue(comptes.ElementAt(1).solde == 1900); // l'ancien recepteur
            Assert.IsTrue(comptes.ElementAt(2).solde == 2800); // le nouveau expediteur
            Assert.IsTrue(comptes.ElementAt(3).solde == 4200); // le nouveau recepteur
        }
コード例 #2
0
        public void insert_test()
        {
            moqDbContext     = new Mock <DbContextEntities>();
            moqDbSetTranfert = new Mock <DbSet <Transfert> >();
            moqDbSetCompte   = new Mock <DbSet <Compte> >();

            moqDbContext.Setup(c => c.SaveChanges()).Returns(3); // le resultat attendu
            moqDbSetCompte.Setup(m => m.Find(It.IsAny <Object[]>())).Returns((Object[] ids) => comptes.FirstOrDefault(compte => compte.id == (int)ids[0]));
            moqDbSetTranfert.Setup(m => m.Add(It.IsAny <Transfert>())).Returns((Transfert t) => { transferts.Add(t); return(t); });

            transfertRepository = new TransfertRepository(moqDbContext.Object, moqDbSetTranfert.Object, moqDbSetCompte.Object);

            bool resultat = transfertRepository.Insert(new Transfert
            {
                id = 2,
                idCompteExpediteur = 1,
                idCompteRecepteur  = 2,
                montant            = 100,
                dateCreation       = new DateTime(),
                designation        = " tranfert 2"
            });

            // assertion sur la maj du compte expediteur et recepteur

            Assert.IsTrue(comptes.ElementAt(0).solde == 900);
            Assert.IsTrue(comptes.ElementAt(1).solde == 2100);
            Assert.IsTrue(transferts.ElementAt(1).id == 2);
            Assert.IsTrue(resultat);
        }
コード例 #3
0
        public void get_all_test()
        {
            moqDbContext     = new Mock <DbContextEntities>();
            moqDbSetTranfert = new Mock <DbSet <Transfert> >();
            moqDbSetCompte   = new Mock <DbSet <Compte> >();

            moqDbSetTranfert.As <IQueryable <Transfert> >().Setup(m => m.Provider).Returns(transferts.AsQueryable().Provider);
            moqDbSetTranfert.As <IQueryable <Transfert> >().Setup(m => m.Expression).Returns(transferts.AsQueryable().Expression);
            moqDbSetTranfert.As <IQueryable <Transfert> >().Setup(m => m.ElementType).Returns(transferts.AsQueryable().ElementType);
            moqDbSetTranfert.As <IQueryable <Transfert> >().Setup(m => m.GetEnumerator()).Returns(transferts.AsQueryable().GetEnumerator());

            transfertRepository = new TransfertRepository(moqDbContext.Object, moqDbSetTranfert.Object, moqDbSetCompte.Object);
            IEnumerable <Transfert> resultat = transfertRepository.GetAll();

            Assert.IsTrue(resultat.Count() == 1);
        }
コード例 #4
0
        public void get_by_id_test()
        {
            moqDbContext     = new Mock <DbContextEntities>();
            moqDbSetTranfert = new Mock <DbSet <Transfert> >();
            moqDbSetCompte   = new Mock <DbSet <Compte> >();

            moqDbSetTranfert.As <IQueryable <Transfert> >().Setup(m => m.Provider).Returns(transferts.AsQueryable().Provider);
            moqDbSetTranfert.As <IQueryable <Transfert> >().Setup(m => m.Expression).Returns(transferts.AsQueryable().Expression);
            moqDbSetTranfert.As <IQueryable <Transfert> >().Setup(m => m.ElementType).Returns(transferts.AsQueryable().ElementType);
            moqDbSetTranfert.As <IQueryable <Transfert> >().Setup(m => m.GetEnumerator()).Returns(() => transferts.AsQueryable().GetEnumerator());

            transfertRepository = new TransfertRepository(moqDbContext.Object, moqDbSetTranfert.Object, moqDbSetCompte.Object);

            Transfert resultat = transfertRepository.GetByID(1);

            Assert.AreEqual(resultat.designation, transferts.ElementAt(0).designation);
            Assert.AreEqual(resultat.id, transferts.ElementAt(0).id);
        }
コード例 #5
0
        public void delete_test()
        {
            moqDbContext     = new Mock <DbContextEntities>();
            moqDbSetTranfert = new Mock <DbSet <Transfert> >();
            moqDbSetCompte   = new Mock <DbSet <Compte> >();

            moqDbSetCompte.Setup(m => m.Find(It.IsAny <Object[]>())).Returns((Object[] ids) => comptes.FirstOrDefault(compte => compte.id == (int)ids[0]));
            moqDbSetTranfert.Setup(m => m.Find(It.IsAny <Object[]>())).Returns((Object[] ids) => transferts.FirstOrDefault(transfert => transfert.id == (int)ids[0]));
            moqDbContext.Setup(m => m.SaveChanges()).Returns(3);
            moqDbSetTranfert.Setup(m => m.Remove(It.IsAny <Transfert>())).Returns((Transfert t) => { transferts.Remove(t); return(t); });

            transfertRepository = new TransfertRepository(moqDbContext.Object, moqDbSetTranfert.Object, moqDbSetCompte.Object);

            bool resulat = transfertRepository.Delete(1);

            Assert.IsTrue(resulat);
            Assert.IsTrue(comptes.ElementAt(0).solde == 1100);
            Assert.IsTrue(comptes.ElementAt(1).solde == 1900);
        }
コード例 #6
0
 public TransfertService(DbContextEntities dbContext, DbSet <Transfert> dbSetTransfert, DbSet <Compte> dbSetCompte)
 {
     transfertRepository = new TransfertRepository(dbContext, dbSetTransfert, dbSetCompte);
 }
コード例 #7
0
 public TransfertService()
 {
     transfertRepository = new TransfertRepository();
 }