Exemplo n.º 1
0
        public void AfspraakToevoegen()
        {
            Afspraak afspraak = new Afspraak()
            {
                ID            = 4,
                AfspraakDatum = new DateTime(2017, 08, 21),
                Naam          = "Jan",
                TrouwDatum    = new DateTime(2017, 09, 09),
                TelNr         = 0312214974,
                Email         = "*****@*****.**",
                Nieuwsbrief   = true
            };

            //er zijn 2 mock object nodig
            var mockDbContext     = new Mock <ApplicationDbContext>();
            var mockDbSetAfspraak = new Mock <DbSet <Afspraak> >();

            // Als afspraak uit de DBcontext opgevraagd ook een mock object teruggeven
            mockDbContext.Setup(x => x.Afspraak).Returns(mockDbSetAfspraak.Object);

            AfspraakController ac = new AfspraakController(mockDbContext.Object);

            var result = ac.Add(afspraak);

            // Checken of wat toegevoegd is wel een afspraak is.
            mockDbSetAfspraak.Verify(m => m.Add(It.IsAny <Afspraak>()), Times.Once());

            // Test of email en naam klopt
            mockDbSetAfspraak.Verify(m => m.Add(It.Is <Afspraak>(a => a.Email == "*****@*****.**" && a.Naam == "Jan")));

            // Check of afspraak 1x toegevoegd wordt
            mockDbContext.Verify(m => m.SaveChanges(), Times.Once());
        }