Beispiel #1
0
        public void ShouldBeAbleToSearchForHotels()
        {
            //Arrange
            var testdata = new HotelsTdo {
                Locality           = "Indiranagar, Bangalore",
                TravellerSelection = "1 room, 2 adults"
            };

            var hotelsView = new HotelsView(BrowserContext.CurrentDriver);

            //Act
            bool actual = hotelsView.SearchHotels(testdata);

            //Assert
            Assert.True(actual, "Search Result not found");
        }
        /// <summary>
        /// Возвращает модель-представление списка отелей
        /// </summary>
        private HotelsView GetHotelsViewModel(int?id)
        {
            var viewModel = new HotelsView();

            var hotels = _dbContext.hotels
                         .Include("food")
                         .Include("city")
                         .Include("tour")
                         .Where(x => x.tour_id == id)
                         .ToList();

            foreach (var hotel in hotels)
            {
                var averagePrice = 0;

                int numberRooms = 0;
                int costCounter = hotel.rooms
                                  .Select(r => r.cost_per_day)
                                  .Aggregate(0, (sum, cost) => {
                    numberRooms++;
                    return(sum + cost);
                });

                if (numberRooms != 0)
                {
                    averagePrice = costCounter / numberRooms;
                }

                viewModel.HotelViewItems.Add(
                    new HotelsView.HotelViewItem
                {
                    HotelId         = hotel.id,
                    HotelName       = hotel.name,
                    HotelAddress    = hotel.address,
                    StarsNumber     = hotel.stars_number,
                    DistanceToBeach = hotel.distance_to_beach ?? 0,
                    FoodType        = hotel.food?.type,
                    FoodDescription = hotel.food?.description,
                    HowManyInDay    = hotel.food?.how_many_in_day ?? 0,
                    CityName        = hotel.city?.name,
                    AveragePrice    = averagePrice
                });
            }

            return(viewModel);
        }