Beispiel #1
0
        public void GetAvailableDates_In_AfspraakController()
        {
            var mockDbContext     = new Mock <ApplicationDbContext>();
            var mockDbSetAfspraak = new Mock <DbSet <Afspraak> >();

            var dummyData = new List <Afspraak>()
            {
                new Afspraak()
                {
                    Datum = Convert.ToDateTime("01 - 01 - 2017")
                },
                new Afspraak()
                {
                    Datum = Convert.ToDateTime("01 - 01 - 2017")
                },
                new Afspraak()
                {
                    Datum = Convert.ToDateTime("01 - 01 - 2017")
                },
                new Afspraak()
                {
                    Datum = Convert.ToDateTime("01 - 01 - 2017")
                },
                new Afspraak()
                {
                    Datum = Convert.ToDateTime("01 - 01 - 2017")
                },
                new Afspraak()
                {
                    Datum = Convert.ToDateTime("01 - 01 - 2017")
                }
            }.AsQueryable();

            //alle property van IQueryable correct toekennen
            mockDbSetAfspraak.As <IQueryable <Afspraak> >().Setup(m => m.Provider).Returns(dummyData.Provider);
            mockDbSetAfspraak.As <IQueryable <Afspraak> >().Setup(m => m.Expression).Returns(dummyData.Expression);
            mockDbSetAfspraak.As <IQueryable <Afspraak> >().Setup(m => m.ElementType).Returns(dummyData.ElementType);
            mockDbSetAfspraak.As <IQueryable <Afspraak> >().Setup(m => m.GetEnumerator()).Returns(dummyData.GetEnumerator());

            mockDbContext.Setup(x => x.Afspraak).Returns(mockDbSetAfspraak.Object);

            AfspraakController ac = new AfspraakController(mockDbContext.Object);

            var result = ac.GetAvalibleDates(01, 2017);

            var arrayResult = Assert.IsType <DateTime[]>(result);
            int aantal      = result.Count();

            Assert.Equal(1, aantal);
            Assert.Equal(1, result.ElementAt(0).Month);
        }