Beispiel #1
0
        public void GetTakenTimes_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"), Tijd = "15 : 30"
                },
                new Afspraak()
                {
                    Datum = Convert.ToDateTime("01 - 01 - 2017"), Tijd = "10 : 30"
                },
                new Afspraak()
                {
                    Datum = Convert.ToDateTime("01 - 01 - 2017"), Tijd = "09 : 00"
                },
            }.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.GetTakenTimes(01, 01, 2017);

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

            Assert.Equal(3, aantal);
            Assert.Equal("10 : 30", result.ElementAt(1));
        }