コード例 #1
0
        public void GetAvailableTablesShould_CallTableServiceMethodGetTablesCount_WhenModelIsValid(int peoplePerTable)
        {
            var bookingsServiceMock    = new Mock <IBookingService>();
            var placeServiceMock       = new Mock <IPlaceService>();
            var consumableServiceMock  = new Mock <IConsumableService>();
            var tableServiceMock       = new Mock <ITablesService>();
            var bookedTableServiceMock = new Mock <IBookedTablesService>();
            var authProviderMock       = new Mock <IAuthenticationProvider>();
            var factoryMock            = new Mock <IViewModelFactory>();

            var controller = new Web.Controllers.BookingsController(authProviderMock.Object, placeServiceMock.Object,
                                                                    bookingsServiceMock.Object, factoryMock.Object, consumableServiceMock.Object,
                                                                    bookedTableServiceMock.Object, tableServiceMock.Object);

            var model = new BookingViewModel()
            {
                DateTime = DateTime.Now, PlaceId = Guid.NewGuid()
            };
            var booking = new Booking()
            {
                Id = Guid.NewGuid()
            };
            var list = new List <Booking>()
            {
                booking
            };
            var table = new Table()
            {
                Id = Guid.NewGuid(), NumberOfPeople = peoplePerTable
            };
            var bookedTable = new BookedTables()
            {
                BookingId = booking.Id, TableId = table.Id, Table = table, TablesCount = 3
            };

            bookingsServiceMock.Setup(s => s.FindAllOn(model.DateTime, model.PlaceId)).Returns(list.AsQueryable());
            bookedTableServiceMock.Setup(s => s.GetBookedTable(booking.Id)).Returns(bookedTable);
            tableServiceMock.Setup(s => s.GetTablesCount(model.PlaceId, peoplePerTable)).Returns(10);

            controller.GetAvailableTables(model);

            tableServiceMock.Verify(s => s.GetTablesCount(model.PlaceId, 2), Times.Once);
            tableServiceMock.Verify(s => s.GetTablesCount(model.PlaceId, 4), Times.Once);
            tableServiceMock.Verify(s => s.GetTablesCount(model.PlaceId, 6), Times.Once);
        }
コード例 #2
0
        public void GetAvailableTablesShould_CallBookingServiceMethodFindAllOn_WhenModelIsValid()
        {
            var bookingsServiceMock    = new Mock <IBookingService>();
            var placeServiceMock       = new Mock <IPlaceService>();
            var consumableServiceMock  = new Mock <IConsumableService>();
            var tableServiceMock       = new Mock <ITablesService>();
            var bookedTableServiceMock = new Mock <IBookedTablesService>();
            var authProviderMock       = new Mock <IAuthenticationProvider>();
            var factoryMock            = new Mock <IViewModelFactory>();

            var controller = new Web.Controllers.BookingsController(authProviderMock.Object, placeServiceMock.Object,
                                                                    bookingsServiceMock.Object, factoryMock.Object, consumableServiceMock.Object,
                                                                    bookedTableServiceMock.Object, tableServiceMock.Object);

            var model = new BookingViewModel()
            {
                DateTime = DateTime.Now, PlaceId = Guid.NewGuid()
            };

            controller.GetAvailableTables(model);

            bookingsServiceMock.Verify(s => s.FindAllOn(model.DateTime, model.PlaceId), Times.Once);
        }