Пример #1
0
        public void BookRoom_SavesToContext()
        {
            var bookingSchedule = new BookingSchedule()
            {
                Id               = 1,
                StartTime        = new DateTime(2016, 5, 5),
                RoomId           = 1,
                DurationInMinuts = 30,
                PersonId         = 1,
                Room             = new Room(),
                Person           = new Person()
            };
            var mockBookingScheduleSet = new Mock <DbSet <BookingSchedule> >();
            var mockContext            = new Mock <BookingContext>();

            mockContext.Setup(x => x.BookingSchedules).Returns(mockBookingScheduleSet.Object);
            var repository = new RoomRepository(mockContext.Object);

            repository.BookRoom(bookingSchedule);

            // Though it's not recommended to assert against more than 1 mock object
            // here we have to do so as we need to make sure both Add() and SaveChanges() methods
            // are called
            mockBookingScheduleSet.Verify(b => b.Add(It.IsAny <BookingSchedule>()), Times.Once());
            mockContext.Verify(ctx => ctx.SaveChanges(), Times.Once());
        }