public void GetReturnsMultipleObjects()
        {
            // Arrange
            List <Hotel> hoteli = new List <Hotel>();

            hoteli.Add(new Hotel {
                Id = 1, Name = "Hotel1"
            });
            hoteli.Add(new Hotel {
                Id = 2, Name = "Hotel2"
            });

            var mockRepository = new Mock <IHotelRepository>();

            mockRepository.Setup(x => x.GetAll()).Returns(hoteli.AsEnumerable());
            var controller = new HotelsController(mockRepository.Object);

            // Act
            IEnumerable <Hotel> result = controller.GetAll();

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(hoteli.Count, result.ToList().Count);
            Assert.AreEqual(hoteli.ElementAt(0), result.ElementAt(0));
            Assert.AreEqual(hoteli.ElementAt(1), result.ElementAt(1));
        }
        public void PostReturnsMultipleObjects()
        {
            // Arrange
            List <Hotel> hoteli = new List <Hotel>();

            hoteli.Add(new Hotel {
                Id = 1, Name = "Hotel1", NumberOfRooms = 50
            });
            hoteli.Add(new Hotel {
                Id = 2, Name = "Hotel2", NumberOfRooms = 100
            });

            var filter = new Filter()
            {
                Min = 30, Max = 150
            };

            var mockRepository = new Mock <IHotelRepository>();

            mockRepository.Setup(x => x.Search(filter)).Returns(hoteli.AsEnumerable());
            var controller = new HotelsController(mockRepository.Object);

            // Act
            IEnumerable <Hotel> result = controller.Capacity(filter);

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(hoteli.Count, result.ToList().Count);
        }
        public void ValidPostShouldCreateANewHotel()
        {
            var options = new DbContextOptionsBuilder <BookingsDbContext>()
                          .UseInMemoryDatabase(databaseName: nameof(ValidPostShouldCreateANewHotel))
                          .Options;

            using (var context = new BookingsDbContext(options))
            {
                var hotelService = new ReviewService(context);
                var controller   = new HotelsController(hotelService);

                Hotel hotel = new Hotel
                {
                    Id        = 1,
                    HotelName = "Transilvania Hotel",
                    City      = "Sibiu",
                    Capacity  = 120,
                    Rating    = 8,
                    Reviews   = new List <Review>()
                    {
                        new Review
                        {
                            Text   = "fain",
                            Rating = 10,
                        }
                    }
                };

                controller.PostHotel(hotel);

                Assert.IsNotEmpty(context.Hotels);
            }
        }
        public void ValidGetByIdShouldReturnSelectedHotel()
        {
            var options = new DbContextOptionsBuilder <BookingsDbContext>()
                          .UseInMemoryDatabase(databaseName: nameof(ValidGetByIdShouldReturnSelectedHotel))
                          .Options;

            using (var context = new BookingsDbContext(options))
            {
                var hotelService = new ReviewService(context);
                var controller   = new HotelsController(hotelService);

                Hotel hotel2 = new Hotel
                {
                    Id        = 1,
                    HotelName = "Transilvania Hotel",
                    City      = "Sibiu",
                    Capacity  = 120,
                    Rating    = 8,
                    Reviews   = new List <Review>()
                    {
                        new Review
                        {
                            Text   = "fain",
                            Rating = 10,
                        }
                    }
                };

                Hotel hotel1 = new Hotel
                {
                    Id        = 2,
                    HotelName = "Belvedere Hotel",
                    City      = "Sibiu",
                    Capacity  = 120,
                    Rating    = 8,
                    Reviews   = new List <Review>()
                    {
                        new Review
                        {
                            Text   = "fain",
                            Rating = 10,
                        }
                    }
                };

                hotelService.Create(hotel1);
                hotelService.Create(hotel2);

                context.Entry(hotel1).State = EntityState.Detached;
                context.Entry(hotel2).State = EntityState.Detached;

                var response = controller.GetHotelById(1);

                var contentResult = response as Hotel;

                Assert.IsNotNull(contentResult);
                Assert.AreEqual("Transilvania Hotel", contentResult.HotelName);
            }
        }
        public void ValidGetHotelsShouldListAll()
        {
            var options = new DbContextOptionsBuilder <BookingsDbContext>()
                          .UseInMemoryDatabase(databaseName: nameof(ValidGetHotelsShouldListAll))
                          .Options;

            using (var context = new BookingsDbContext(options))
            {
                var hotelService = new ReviewService(context);
                var controller   = new HotelsController(hotelService);

                Hotel hotel2 = new Hotel
                {
                    HotelName = "Transilvania Hotel",
                    City      = "Sibiu",
                    Capacity  = 120,
                    Rating    = 8,
                    Reviews   = new List <Review>()
                    {
                        new Review
                        {
                            Text   = "fain",
                            Rating = 10,
                        }
                    }
                };

                Hotel hotel1 = new Hotel
                {
                    HotelName = "Belvedere Hotel",
                    City      = "Sibiu",
                    Capacity  = 120,
                    Rating    = 8,
                    Reviews   = new List <Review>()
                    {
                        new Review
                        {
                            Text   = "fain",
                            Rating = 10,
                        }
                    }
                };

                controller.PostHotel(hotel1);
                controller.PostHotel(hotel2);

                context.Entry(hotel1).State = EntityState.Detached;
                context.Entry(hotel2).State = EntityState.Detached;

                Assert.AreEqual(hotelService.GetHotels().Count(), 2);

                IActionResult actionResult  = controller.GetHotels();
                var           createdResult = actionResult as OkObjectResult;

                Assert.IsNotNull(createdResult);
                Assert.AreEqual(200, createdResult.StatusCode);
            }
        }
        public void GetHotels_ReturnAll()
        {
            var TestedHotels = GetTestHotels();
            var controller   = new HotelsController();

            var result = controller.GetAllHotels() as List <Hotel>;

            Assert.AreEqual(TestedHotels.Count, result.Count);
        }
        public void TestGetHotelByDateSortByName()
        {
            HotelsController hotelsController = new HotelsController();
            IEnumerable <Hotel.Search.Application.CustomClasses.Hotel> result = hotelsController.GetHotelByDate("10-10-2020:15-10-2020", "name").Data;

            Assert.Equal("Concorde Hotel", result.ToList()[0].name);

            IEnumerable <Hotel.Search.Application.CustomClasses.Hotel> noresult = hotelsController.GetHotelByDate("10-100-2020:15-100-2020", "name").Data;

            Assert.True(noresult == null);
        }
        public void TestGetHotelByPriceSortByPrice()
        {
            HotelsController hotelsController = new HotelsController();
            IEnumerable <Hotel.Search.Application.CustomClasses.Hotel> result = hotelsController.GetHotelByPrice("80:100", "price").Data;

            Assert.True(result.ToList()[0].price >= 80 && result.ToList()[0].price <= 100);

            IEnumerable <Hotel.Search.Application.CustomClasses.Hotel> noresult = hotelsController.GetHotelByPrice("0-0", "price").Data;

            Assert.True(noresult == null);
        }
        public void TestGetHotelByDestSortByPrice()
        {
            HotelsController hotelsController = new HotelsController();
            IEnumerable <Hotel.Search.Application.CustomClasses.Hotel> result = hotelsController.GetHotelByDest("dubai", "price").Data;

            Assert.Equal("dubai", result.ToList()[0].city);

            IEnumerable <Hotel.Search.Application.CustomClasses.Hotel> noresult = hotelsController.GetHotelByDest("no result", "price").Data;

            Assert.True(noresult == null);
        }
        public void TestGetHotelByNameSortByPrice()
        {
            HotelsController hotelsController = new HotelsController();
            IEnumerable <Hotel.Search.Application.CustomClasses.Hotel> result = hotelsController.GetHotelByName("media one hotel", "price").Data;

            Assert.Equal("media one hotel", result.ToList()[0].name.ToLower());

            IEnumerable <Hotel.Search.Application.CustomClasses.Hotel> noresult = hotelsController.GetHotelByName("no result", "price").Data;

            Assert.True(noresult == null);
        }
Esempio n. 11
0
        public async Task TestMethod()
        {
            var controller = new HotelsController(new HotelService(
                                                      new HotelRepository(AppDomain.CurrentDomain.BaseDirectory + "\\hoteldb.csv")));

            controller.Request       = new HttpRequestMessage();
            controller.Configuration = new HttpConfiguration();

            var response = await controller.Search("Amsterdam", Api.Infrastructure.SortDirection.Ascending);

            Assert.IsTrue(response.Count() == 6);
        }
        public void Setup()
        {
            _mapper = new Mock <IMapper>();
            _mapper.Setup(x => x.Map <HotelDto, Hotel>(It.IsAny <HotelDto>())).Returns(new Hotel());

            _logger = new Mock <ILogger <HotelsController> >();

            _hotelsRepository = new Mock <IHotelsRepository>();
            _hotelsRepository.Setup(r => r.getHotels()).Returns(Task.FromResult(this.Hotels));

            _controller = new HotelsController(_hotelsRepository.Object, _logger.Object, _mapper.Object);
        }
        public void GetHotels_FilterationFromPrice()
        {
            new HotelsController().GetAllHotels();
            var controller  = new HotelsController();
            var searchModel = new SearchModel
            {
                PriceFrom = 111
            };

            var result = controller.GetFilteredHotels(searchModel) as List <Hotel>;

            Assert.AreEqual(1, result.Count);
        }
        public void GetHotels_FilterationtoDate()
        {
            var TestedHotels = new HotelsController().GetAllHotels() as List <Hotel>;
            var controller   = new HotelsController();
            var searchModel  = new SearchModel
            {
                DateTo = DateTime.MaxValue
            };

            var result = controller.GetFilteredHotels(searchModel) as List <Hotel>;

            Assert.AreEqual(TestedHotels.Count, result.Count);
        }
        public void GetHotels_FilterationCity()
        {
            new HotelsController().GetAllHotels();
            var controller  = new HotelsController();
            var searchModel = new SearchModel
            {
                City = "Manila"
            };

            var result = controller.GetFilteredHotels(searchModel) as List <Hotel>;

            Assert.AreEqual(1, result.Count);
        }
        public async Task AddReview_WhenInvalid_ShouldReturnView()
        {
            var controller = new HotelsController(hotelServiceMock.Object,
                                                  imageServiceMock.Object, thumbnailServiceMock.Object, propertyServiceMock.Object);

            controller.ModelState.AddModelError("Rating", "Required");
            var hotelId = 1;
            var review  = new Review();

            var result = await controller.AddReview(hotelId, review);

            Assert.IsType <ViewResult>(result);
        }
        public void GetHotels_FilterationName()
        {
            new HotelsController().GetAllHotels();
            var controller  = new HotelsController();
            var searchModel = new SearchModel
            {
                Name = "Rotana Hotel"
            };

            var result = controller.GetFilteredHotels(searchModel) as List <Hotel>;

            Assert.AreEqual(1, result.Count);
        }
Esempio n. 18
0
        public void ConfirmHotelBooking()
        {
            HotelsController hotelBook = new HotelsController();

            HotelPayment payment = new HotelPayment();
            object       res     = hotelBook.ConfirmHotelBooking(payment);

            payment.Location  = "Chicago";
            payment.HotelName = "abc";
            Assert.IsNotNull(res);
            Assert.AreEqual("Chicago", payment.Location);
            Assert.IsNull(payment.paymentDetails);
            Assert.AreNotEqual("Michigan Ave", payment.HotelName);
        }
        public void PutReturnsBadRequest()
        {
            // Arrange
            var mockRepository = new Mock <IHotelRepository>();
            var controller     = new HotelsController(mockRepository.Object);

            // Act
            IHttpActionResult actionResult = controller.Put(10, new Hotel {
                Id = 9, Name = "Hotel 1"
            });

            // Assert
            Assert.IsInstanceOfType(actionResult, typeof(BadRequestResult));
        }
        public async Task DeleteReview_ShouldCallServiceAndRedirect()
        {
            var controller = new HotelsController(hotelServiceMock.Object,
                                                  imageServiceMock.Object, thumbnailServiceMock.Object, propertyServiceMock.Object);
            var hotelId  = 1;
            var reviewId = 1;

            var result = await controller.DeleteReview(hotelId, reviewId);

            var redirectResult = Assert.IsType <RedirectToActionResult>(result);
            int resultHotelId  = (int)redirectResult.RouteValues["id"];

            Assert.Equal(hotelId, resultHotelId);
            Assert.Null(redirectResult.ControllerName);
            Assert.Equal(nameof(controller.Hotel), redirectResult.ActionName);
            hotelServiceMock.Verify(s => s.DeleteReview(reviewId), Times.Once);
        }
Esempio n. 21
0
        public void HotelControllerTestMethod()
        {
            HotelsController hr = new HotelsController();

            HotelDetails response = hr.FetchAllHotels("Chicago", 1, 1, 1, "12/02/2017", "12/06/2017");
            //Date Exception
            HotelDetails exception  = hr.FetchAllHotels("Chicago", 1, 1, 1, "12/02/2016", "12/06/2017");
            HotelDetails exception1 = hr.FetchAllHotels("gulbarga", 1, 1, 1, "12/02/2017", "12/06/2017");
            HotelDetails temp       = response;

            Assert.IsNotNull(response);
            Assert.IsNotNull(exception.ExceptionDetails);
            Assert.IsNull(exception1.ExceptionDetails);
            Assert.AreEqual(response, temp);
            Assert.AreNotEqual(response, exception);

            Assert.IsNull(response.ExceptionDetails);
        }
Esempio n. 22
0
        public HotelsControllerTests()
        {
            _mockHotelRepository = new Mock <IHotelRepository>();
            _mockLogger          = new Mock <ILoggerAdapter <HotelsController> >();
            _mockOptions         = new Mock <IOptions <PageSettings> >();
            _pageSettings        = new PageSettings()
            {
                PageSize = 5
            };
            _mockOptions.Setup(p => p.Value).Returns(_pageSettings);
            _hotelsController = new HotelsController(_mockHotelRepository.Object, _mockLogger.Object, _mockOptions.Object);

            Mapper.Initialize(mapConfig =>
            {
                mapConfig.CreateMap <SearchCriteriaViewModel, SearchCriteria>();
                mapConfig.CreateMap <Establishment, EstablishmentViewModel>();
                mapConfig.CreateMap <AvailabilitySearch, AvailabilitySearchViewModel>();
            });
        }
        public void GetReturnsHotelWithSameId()
        {
            // Arrange
            var mockRepository = new Mock <IHotelRepository>();

            mockRepository.Setup(x => x.GetById(42)).Returns(new Hotel {
                Id = 42
            });

            var controller = new HotelsController(mockRepository.Object);

            // Act
            IHttpActionResult actionResult = controller.GetById(42);
            var contentResult = actionResult as OkNegotiatedContentResult <Hotel>;

            // Assert
            Assert.IsNotNull(contentResult);
            Assert.IsNotNull(contentResult.Content);
            Assert.AreEqual(42, contentResult.Content.Id);
        }
        public void Setup()
        {
            _hotelsController = new HotelsController(null);
            _insertedHotels   = new List <int>();
            _hotelentity      = HotelBuilder.Create()
                                .WithName("Hotel Cagua")
                                .WithAmountOfRooms(2000)
                                .WithCapacityPerRoom(2)
                                .WithPricePerRoom(200)
                                .WithPhone("04243240208")
                                .WithWebsite("HC.com")
                                .WithStars(2)
                                .LocatedAt(HotelTestSetup.LOCATION_ID)
                                .WithStatus(true)
                                .WithAddressDescription("Calle Los Almendrones")
                                .WithPictureUrl("alguncodigoenbase64")
                                .Build();
            HotelMapper _HotelMapper = MapperFactory.createHotelMapper();

            _hotel = _HotelMapper.CreateDTO(_hotelentity);
        }
        public void ValidDeleteByIdNotFoundId()
        {
            var options = new DbContextOptionsBuilder <BookingsDbContext>()
                          .UseInMemoryDatabase(databaseName: nameof(ValidDeleteShouldDeleteHotel))
                          .Options;

            using (var context = new BookingsDbContext(options))
            {
                var hotelService = new ReviewService(context);
                var controller   = new HotelsController(hotelService);

                Hotel hotel = new Hotel
                {
                    Id        = 100,
                    HotelName = "Transilvania Hotel",
                    City      = "Sibiu",
                    Capacity  = 120,
                    Rating    = 8,
                    Reviews   = new List <Review>()
                    {
                        new Review
                        {
                            Text   = "fain",
                            Rating = 10,
                        }
                    }
                };


                hotelService.Create(hotel);
                context.Entry(hotel).State = EntityState.Detached;

                IActionResult actionResult = controller.DeleteHotel(200);

                //  var createdResult = actionResult as OkObjectResult;

                //  Assert.IsInstanceOf(createdResult.GetType(), typeof(System.Web.Http.Results.NotFoundResult));
                Assert.IsNotEmpty(context.Hotels);
            }
        }
        public async Task AddReview_WhenValid_ShouldCallServiceAndRedirect()
        {
            var controllerContext = ControllerContextProvider.GetDefault();
            var controller        = new HotelsController(hotelServiceMock.Object,
                                                         imageServiceMock.Object, thumbnailServiceMock.Object, propertyServiceMock.Object)
            {
                ControllerContext = controllerContext
            };
            var hotelId = 1;
            var review  = new Review();

            var result = await controller.AddReview(hotelId, review);

            var redirectResult = Assert.IsType <RedirectToActionResult>(result);
            int resultHotelId  = (int)redirectResult.RouteValues["id"];

            Assert.Null(redirectResult.ControllerName);
            Assert.Equal(nameof(controller.Hotel), redirectResult.ActionName);
            Assert.Equal(hotelId, resultHotelId);
            Assert.Equal(controllerContext.HttpContext.User.FindFirstValue(ClaimTypes.NameIdentifier), review.ApplicationUserId);
            hotelServiceMock.Verify(s => s.AddReviewAsync(review), Times.Once);
        }
        public void Setup()
        {
            hotelAppService = new Mock <IHotelAppService>();

            hotelsController = new HotelsController(hotelAppService.Object);
        }
Esempio n. 28
0
 public HotelControllerTest()
 {
     _fakeMediator = new Mock <IMediator>();
     _controller   = new HotelsController(_fakeMediator.Object);
 }
 public HotelsControllerTest()
 {
     _service = new HotelServiceFake();
     _controller = new HotelsController(_service);
 }