Пример #1
0
        public void GetAllTest()
        {
            Accommodation accommodation = new Accommodation()
            {
                Id     = 2,
                Name   = "abz",
                SpotId = 1
            };
            List <Accommodation> accommodations = new List <Accommodation>()
            {
                accommodation
            };
            var mockAccommodation = new Mock <IAccommodationRepository>(MockBehavior.Strict);

            mockAccommodation.Setup(p => p.GetAll()).Returns(accommodations);
            var mockTouristicSpot = new Mock <ITouristicSpotRepository>(MockBehavior.Strict);
            var mockReview        = new Mock <IReviewRepository>(MockBehavior.Strict);
            var mockBooking       = new Mock <IBookingRepository>(MockBehavior.Strict);
            var logic             = new AccommodationLogic(mockAccommodation.Object, mockTouristicSpot.Object, mockReview.Object, mockBooking.Object);

            var result = logic.GetAll();

            mockAccommodation.VerifyAll();
            Assert.IsTrue(accommodations.SequenceEqual(result));
        }
Пример #2
0
 public AccommodationsModel(UserManager <ApplicationUser> userManager,
                            IWebHostEnvironment webHostEnvironment)
 {
     AccommodationLogic = new AccommodationLogic();
     UserManager        = userManager;
     WebHostEnvironment = webHostEnvironment;
 }
Пример #3
0
        public void AddReviewTestOk()
        {
            Accommodation accommodation = new Accommodation()
            {
                Id     = 2,
                Name   = "abz",
                SpotId = 1
            };
            Booking booking = new Booking()
            {
                Id = 2
            };
            Review review = new Review()
            {
                Id = 1
            };
            var mockAccommodation = new Mock <IAccommodationRepository>(MockBehavior.Strict);
            var mockTouristicSpot = new Mock <ITouristicSpotRepository>(MockBehavior.Strict);
            var mockReview        = new Mock <IReviewRepository>(MockBehavior.Strict);
            var mockBooking       = new Mock <IBookingRepository>(MockBehavior.Strict);

            mockBooking.Setup(p => p.GetById(It.IsAny <int>())).Returns(booking);
            mockReview.Setup(p => p.AddAndSave(It.IsAny <Review>())).Returns(review);
            var logic = new AccommodationLogic(mockAccommodation.Object, mockTouristicSpot.Object, mockReview.Object, mockBooking.Object);

            logic.AddReview(review);

            mockAccommodation.VerifyAll();
        }
Пример #4
0
        public void AddAccommodationNullInputTest2()
        {
            Accommodation accommodation = new Accommodation()
            {
                Id            = 5,
                Name          = "abom",
                Address       = "ag",
                Images        = null,
                ContactNumber = "a",
                Information   = "a",
                PricePerNight = 5,
                SpotId        = 3,
            };

            TouristicSpot spot = new TouristicSpot()
            {
                Name = "a",
                Id   = 6
            };
            var mockAccommodation = new Mock <IAccommodationRepository>(MockBehavior.Strict);

            mockAccommodation.Setup(p => p.AddAndSave(It.IsAny <Accommodation>())).Returns(accommodation);
            mockAccommodation.Setup(p => p.GetByName(It.IsAny <string>())).Returns(accommodation);
            var mockTouristicSpot = new Mock <ITouristicSpotRepository>(MockBehavior.Strict);

            mockTouristicSpot.Setup(p => p.GetById(It.IsAny <int>())).Returns(spot);
            var mockReview  = new Mock <IReviewRepository>(MockBehavior.Strict);
            var mockBooking = new Mock <IBookingRepository>(MockBehavior.Strict);
            var logic       = new AccommodationLogic(mockAccommodation.Object, mockTouristicSpot.Object, mockReview.Object, mockBooking.Object);

            var result = logic.AddAccommodation(accommodation);
        }
Пример #5
0
        public async Task <IActionResult> OnPostAsync()
        {
            if (ModelState.IsValid)
            {
                AccommodationTypeLogic = new AccommodationTypeLogic();
                AccommodationTypes     = await AccommodationTypeLogic.GetAccommodationTypesAsync();

                var checkInDate  = DateTime.Parse(CheckInDateString);
                var checkOutDate = DateTime.Parse(CheckOutDateString);

                AccommodationLogic = new AccommodationLogic();
                Accommodations     = await AccommodationLogic.GetFilteredAccommodationsAsync(AccommodationCity, NumberOfGuests,
                                                                                             checkInDate, checkOutDate, AccommodationTypeId,
                                                                                             LatestCheckInTime, EarliestCheckOutTime,
                                                                                             ShowOnlyAccommodationsWithInstantBooking,
                                                                                             ShowOnlyAccommodationsWhereUserCanCancelBooking);

                if (Accommodations.Count == 0)
                {
                    ErrorMessage = "Sorry, no accommodations found that match the given criteria";
                }

                return(Page());
            }

            return(BadRequest());
        }
Пример #6
0
        public void DeleteExceptionTest()
        {
            Accommodation accommodation = new Accommodation()
            {
                Id   = 3,
                Name = "ayi"
            };
            var mockAccommodation = new Mock <IAccommodationRepository>(MockBehavior.Strict);

            mockAccommodation.Setup(p => p.GetByName(It.IsAny <string>())).Returns <Accommodation>(null);
            mockAccommodation.Setup(p => p.Delete(It.IsAny <Accommodation>())).Returns(accommodation);
            var mockTouristicSpot = new Mock <ITouristicSpotRepository>(MockBehavior.Strict);
            var mockReview        = new Mock <IReviewRepository>(MockBehavior.Strict);
            var mockBooking       = new Mock <IBookingRepository>(MockBehavior.Strict);
            var logic             = new AccommodationLogic(mockAccommodation.Object, mockTouristicSpot.Object, mockReview.Object, mockBooking.Object);

            logic.DeleteAccommodation(accommodation);
        }
Пример #7
0
        public void AddAccommodationTest2()
        {
            List <AccommodationImage> images = new List <AccommodationImage>();
            AccommodationImage        image  = new AccommodationImage()
            {
                Image           = "image",
                AccommodationId = 5
            };

            images.Add(image);
            Accommodation accommodation = new Accommodation()
            {
                Id            = 5,
                Name          = "abom",
                Address       = "ag",
                Images        = images,
                ContactNumber = "a",
                Information   = "a",
                PricePerNight = 5,
                SpotId        = 3,
            };
            TouristicSpot spot = new TouristicSpot()
            {
                Name = "a",
                Id   = 6
            };
            var mockAccommodation = new Mock <IAccommodationRepository>(MockBehavior.Strict);

            mockAccommodation.Setup(p => p.AddAndSave(It.IsAny <Accommodation>())).Returns(accommodation);
            mockAccommodation.Setup(p => p.GetByName(It.IsAny <string>())).Returns <Accommodation>(null);
            var mockTouristicSpot = new Mock <ITouristicSpotRepository>(MockBehavior.Strict);
            var mockReview        = new Mock <IReviewRepository>(MockBehavior.Strict);

            mockTouristicSpot.Setup(p => p.GetById(It.IsAny <int>())).Returns(spot);
            var mockBooking = new Mock <IBookingRepository>(MockBehavior.Strict);
            var logic       = new AccommodationLogic(mockAccommodation.Object, mockTouristicSpot.Object, mockReview.Object, mockBooking.Object);

            var result = logic.AddAccommodation(accommodation);

            mockAccommodation.VerifyAll();
            mockTouristicSpot.VerifyAll();
            Assert.IsTrue(result.Equals(accommodation));
        }
Пример #8
0
        public void AddReviewTest()
        {
            Accommodation accom = new Accommodation()
            {
                Id   = 1,
                Name = "a"
            };
            Booking booking = new Booking()
            {
                Id = 1,
                AccommodationId = 1,
                HeadGuest       = new Tourist()
                {
                    Id       = 1,
                    Email    = "*****@*****.**",
                    Name     = "a",
                    LastName = "a"
                }
            };
            Review review = new Review()
            {
                Id        = 5,
                BookingId = 1,
                Comment   = "test",
                Score     = 1,
            };
            var mockAccommodation = new Mock <IAccommodationRepository>(MockBehavior.Strict);
            var mockTouristicSpot = new Mock <ITouristicSpotRepository>(MockBehavior.Strict);
            var mockReview        = new Mock <IReviewRepository>(MockBehavior.Strict);
            var mockBooking       = new Mock <IBookingRepository>(MockBehavior.Strict);

            mockReview.Setup(p => p.AddAndSave(It.IsAny <Review>())).Returns(review);
            mockBooking.Setup(a => a.GetById(It.IsAny <int>())).Returns(booking);
            var logic = new AccommodationLogic(mockAccommodation.Object, mockTouristicSpot.Object, mockReview.Object, mockBooking.Object);

            var result = logic.AddReview(review);

            mockAccommodation.VerifyAll();
            mockTouristicSpot.VerifyAll();
            Assert.IsTrue(result.Equals(review));
        }
Пример #9
0
        public void GetReviewsByAccommodationTest()
        {
            Accommodation accommodation = new Accommodation()
            {
                Id     = 1,
                Name   = "abz",
                SpotId = 1
            };
            List <Accommodation> accommodations = new List <Accommodation>();
            Review review1 = new Review()
            {
                Id      = 2,
                Comment = "Prueba123",
                Score   = 1
            };
            Review review2 = new Review()
            {
                Id      = 3,
                Comment = "Prueba123",
                Score   = 1
            };
            List <Review> reviews = new List <Review>
            {
                review1,
                review2
            };

            accommodations.Add(accommodation);
            var mockAccommodation = new Mock <IAccommodationRepository>(MockBehavior.Strict);
            var mockTouristicSpot = new Mock <ITouristicSpotRepository>(MockBehavior.Strict);
            var mockReview        = new Mock <IReviewRepository>(MockBehavior.Strict);
            var mockBooking       = new Mock <IBookingRepository>(MockBehavior.Strict);

            mockReview.Setup(p => p.GetByAccommodation(It.IsAny <int>())).Returns(reviews);
            var logic = new AccommodationLogic(mockAccommodation.Object, mockTouristicSpot.Object, mockReview.Object, mockBooking.Object);

            var result = logic.GetReviewsByAccommodation(1);

            mockAccommodation.VerifyAll();
            Assert.IsTrue(reviews.SequenceEqual(result.Item2));
        }
Пример #10
0
        public void UpdateCapacityExceptionTest()
        {
            Accommodation accommodation = new Accommodation()
            {
                Id     = 2,
                Name   = "abz",
                SpotId = 1
            };
            var mockAccommodation = new Mock <IAccommodationRepository>(MockBehavior.Strict);

            mockAccommodation.Setup(p => p.GetById(It.IsAny <int>())).Returns <Accommodation>(null);
            mockAccommodation.Setup(p => p.UpdateCapacity(It.IsAny <int>(), It.IsAny <bool>()));
            var mockTouristicSpot = new Mock <ITouristicSpotRepository>(MockBehavior.Strict);
            var mockReview        = new Mock <IReviewRepository>(MockBehavior.Strict);
            var mockBooking       = new Mock <IBookingRepository>(MockBehavior.Strict);
            var logic             = new AccommodationLogic(mockAccommodation.Object, mockTouristicSpot.Object, mockReview.Object, mockBooking.Object);

            logic.UpdateCapacity(2, false);

            mockAccommodation.VerifyAll();
        }
Пример #11
0
        public void DeleteTest()
        {
            Accommodation accommodation = new Accommodation()
            {
                Id   = 2,
                Name = "abz"
            };
            var mockAccommodation = new Mock <IAccommodationRepository>(MockBehavior.Strict);

            mockAccommodation.Setup(p => p.GetByName(It.IsAny <string>())).Returns(accommodation);
            mockAccommodation.Setup(p => p.Delete(It.IsAny <Accommodation>())).Returns(accommodation);
            var mockTouristicSpot = new Mock <ITouristicSpotRepository>(MockBehavior.Strict);
            var mockReview        = new Mock <IReviewRepository>(MockBehavior.Strict);
            var mockBooking       = new Mock <IBookingRepository>(MockBehavior.Strict);
            var logic             = new AccommodationLogic(mockAccommodation.Object, mockTouristicSpot.Object, mockReview.Object, mockBooking.Object);

            var result = logic.DeleteAccommodation(accommodation);

            mockAccommodation.VerifyAll();
            Assert.AreEqual(result, accommodation);
        }
        public async Task <IActionResult> OnGetForAccommodationAsync(int accommodationId)
        {
            if (accommodationId == 0)
            {
                return(BadRequest());
            }

            var accommodationLogic = new AccommodationLogic();
            var accommodation      = await accommodationLogic.GetAccommodationByIdAsync(accommodationId);

            CurrentUser = await UserManager.GetUserAsync(User);

            if (CurrentUser == null)
            {
                return(BadRequest());
            }

            if (accommodation.ApplicationUser.Id != CurrentUser.Id && !User.IsInRole("Admin"))
            {
                return(Unauthorized());
            }

            PendingReservations = await BookingLogic.GetAllPendingReservationsForAccommodationAsync(accommodationId);

            ApprovedReservations = await BookingLogic.GetAllApprovedReservationsForAccommodationAsync(accommodationId);

            PreviousReservations = await BookingLogic.GetAllPreviousReservationsForAccommodationAsync(accommodationId);

            DeclinedReservations = await BookingLogic.GetAllDeclinedReservationsForAccommodationAsync(accommodationId);

            CancelledReservations = await BookingLogic.GetAllCancelledReservationsForAccommodationAsync(accommodationId);

            if (accommodation.UserCanCancelBooking)
            {
                CancelledByUserReservations = await BookingLogic.GetAllCancelledByUserReservationsForAccommodationAsync(accommodationId);
            }

            return(Page());
        }
Пример #13
0
        public void GetReviewsByAccommodation()
        {
            Accommodation accommodation = new Accommodation()
            {
                Id     = 2,
                Name   = "abz",
                SpotId = 1
            };
            Booking booking = new Booking()
            {
                Id = 2
            };
            Review review = new Review()
            {
                Id = 1
            };
            Review review2 = new Review()
            {
                Id = 2
            };
            List <Review> revs = new List <Review>()
            {
                review,
                review2
            };
            var mockAccommodation = new Mock <IAccommodationRepository>(MockBehavior.Strict);
            var mockTouristicSpot = new Mock <ITouristicSpotRepository>(MockBehavior.Strict);
            var mockReview        = new Mock <IReviewRepository>(MockBehavior.Strict);
            var mockBooking       = new Mock <IBookingRepository>(MockBehavior.Strict);

            mockReview.Setup(p => p.GetByAccommodation(It.IsAny <int>())).Returns(revs);
            var logic = new AccommodationLogic(mockAccommodation.Object, mockTouristicSpot.Object, mockReview.Object, mockBooking.Object);

            logic.GetReviewsByAccommodation(1);

            mockAccommodation.VerifyAll();
        }
Пример #14
0
 public BookingDetailsModel()
 {
     bookingLogic       = new BookingLogic();
     accommodationLogic = new AccommodationLogic();
 }