public void CreateValidReserveTestOk()
        {
            var reserveRepositoryMock = new Mock <IRepository <Reserve> >(MockBehavior.Strict);

            reserveRepositoryMock.Setup(m => m.Add(It.IsAny <Reserve>()));

            var lodgingRepositoryMock = new Mock <ILodgingRepository>(MockBehavior.Strict);

            lodgingRepositoryMock.Setup(m => m.Get(It.IsAny <Guid>())).Returns(lodging);

            var touristSpotRepositoryMock = new Mock <ITouristSpotRepository>(MockBehavior.Strict);

            touristSpotRepositoryMock.Setup(m => m.Get(It.IsAny <Guid>())).Returns(touristSpot);
            var touristSpotLogic = new TouristSpotManagement(touristSpotRepositoryMock.Object);

            LodgingManagement lodgingLogic = new LodgingManagement(lodgingRepositoryMock.Object, touristSpotLogic);
            ReserveManagement reserveLogic = new ReserveManagement(reserveRepositoryMock.Object, lodgingLogic);

            Reserve reserve = new Reserve()
            {
                Name            = "Joaquin",
                LastName        = "Lamela",
                Email           = "*****@*****.**",
                CheckIn         = new DateTime(2020, 05, 25),
                CheckOut        = new DateTime(2020, 06, 10),
                QuantityOfAdult = 2,
                QuantityOfChild = 2,
                QuantityOfBaby  = 1
            };

            Reserve resultOfCreateAReserve = reserveLogic.Create(reserve, lodging.Id);

            reserveRepositoryMock.VerifyAll();
            Assert.IsTrue(reserve.Equals(resultOfCreateAReserve));
        }
        public void GetValidReserveByIdTest()
        {
            Reserve reserve = new Reserve()
            {
                Id               = Guid.NewGuid(),
                Name             = "Joaquin",
                LastName         = "Lamela",
                Email            = "*****@*****.**",
                CheckIn          = new DateTime(2020, 05, 25),
                CheckOut         = new DateTime(2020, 06, 10),
                QuantityOfAdult  = 2,
                QuantityOfChild  = 2,
                QuantityOfBaby   = 1,
                LodgingOfReserve = lodging
            };

            var reserveRepositoryMock = new Mock <IRepository <Reserve> >(MockBehavior.Strict);

            reserveRepositoryMock.Setup(m => m.Get(It.IsAny <Guid>())).Returns(reserve);

            ReserveManagement reserveLogic = new ReserveManagement(reserveRepositoryMock.Object);

            Reserve resultOfGetAReserve = reserveLogic.GetById(reserve.Id);

            reserveRepositoryMock.VerifyAll();
            Assert.IsTrue(reserve.Equals(resultOfGetAReserve));
        }
        public void ThrowExceptionRepositoryInUpdateMethodTest()
        {
            Reserve reserve = new Reserve()
            {
                Id                   = Guid.NewGuid(),
                Name                 = "Joaquin",
                LastName             = "Lamela",
                Email                = "*****@*****.**",
                CheckIn              = new DateTime(2020, 05, 25),
                CheckOut             = new DateTime(2020, 06, 10),
                QuantityOfAdult      = 2,
                QuantityOfChild      = 2,
                QuantityOfBaby       = 1,
                LodgingOfReserve     = lodging,
                StateOfReserve       = Reserve.ReserveState.Creada,
                PhoneNumberOfContact = 29082733,
                DescriptionForGuest  = "Va a disfrutar de su estadia, garantia asegurada"
            };

            var reserveRepositoryMock = new Mock <IRepository <Reserve> >(MockBehavior.Strict);

            reserveRepositoryMock.Setup(m => m.Get(It.IsAny <Guid>())).Returns(reserve);
            reserveRepositoryMock.Setup(m => m.Update(It.IsAny <Reserve>())).Throws(new ServerException("Ocurrio un error al actualizar."));

            ReserveManagement reserveLogic = new ReserveManagement(reserveRepositoryMock.Object);

            Reserve reserveToUpdate = new Reserve()
            {
                Id = reserve.Id,
                DescriptionForGuest = "Su reserva ha sido aceptada",
                StateOfReserve      = Reserve.ReserveState.Aceptada
            };

            Reserve resultOfUpdate = reserveLogic.Update(reserveToUpdate.Id, reserveToUpdate);
        }
        public void CreateInvalidReserveWithoutLodgingTest()
        {
            var reserveRepositoryMock = new Mock <IRepository <Reserve> >(MockBehavior.Strict);

            reserveRepositoryMock.Setup(m => m.Add(It.IsAny <Reserve>()));

            var lodgingRepositoryMock = new Mock <ILodgingRepository>(MockBehavior.Strict);

            lodgingRepositoryMock.Setup(m => m.Get(It.IsAny <Guid>())).Throws(new ClientBusinessLogicException());

            var touristSpotRepositoryMock = new Mock <ITouristSpotRepository>(MockBehavior.Strict);

            touristSpotRepositoryMock.Setup(m => m.Get(It.IsAny <Guid>())).Returns(touristSpot);
            var touristSpotLogic = new TouristSpotManagement(touristSpotRepositoryMock.Object);

            LodgingManagement lodgingLogic = new LodgingManagement(lodgingRepositoryMock.Object, touristSpotLogic);
            var reserveLogic = new ReserveManagement(reserveRepositoryMock.Object, lodgingLogic);

            reserveLogic = new ReserveManagement(reserveRepositoryMock.Object, lodgingLogic);

            Reserve reserve = new Reserve()
            {
                Name            = "Joaquin",
                LastName        = "Lamela",
                Email           = "*****@*****.**",
                CheckIn         = new DateTime(2020, 05, 25),
                CheckOut        = new DateTime(2020, 06, 10),
                QuantityOfAdult = 2,
                QuantityOfChild = 2,
                QuantityOfBaby  = 1
            };

            Reserve resultOfCreateAReserve = reserveLogic.Create(reserve, lodging.Id);
        }
        public void UpdateTheDescriptionOfReserveWithEmptyTextTest()
        {
            Reserve reserveToUpdate = new Reserve()
            {
                DescriptionForGuest = "",
                StateOfReserve      = Reserve.ReserveState.Aceptada
            };
            var reserveRepositoryMock = new Mock <IRepository <Reserve> >(MockBehavior.Strict);

            reserveRepositoryMock.Setup(m => m.Get(It.IsAny <Guid>())).Returns(reserveToUpdate);
            reserveRepositoryMock.Setup(m => m.Update(It.IsAny <Reserve>()));

            ReserveManagement reserveLogic   = new ReserveManagement(reserveRepositoryMock.Object);
            Reserve           resultOfUpdate = reserveLogic.Update(reserveToUpdate.Id, reserveToUpdate);
        }
        public void ThrowsExceptionOnUpdateReserveTest()
        {
            var reserveRepositoryMock = new Mock <IRepository <Reserve> >(MockBehavior.Strict);

            reserveRepositoryMock.Setup(m => m.Get(It.IsAny <Guid>())).Throws(new ServerBusinessLogicException("Ha ocurrido un error al obtener la reserva."));
            reserveRepositoryMock.Setup(m => m.Update(It.IsAny <Reserve>()));

            ReserveManagement reserveLogic = new ReserveManagement(reserveRepositoryMock.Object);

            Reserve reserveToUpdate = new Reserve()
            {
                Id = Guid.NewGuid(),
                DescriptionForGuest = "Su reserva ha sido aceptada",
                StateOfReserve      = Reserve.ReserveState.Aceptada
            };

            Reserve resultOfUpdate = reserveLogic.Update(reserveToUpdate.Id, reserveToUpdate);
        }
        public void UpdateInvalidBecauseReserveIsNotFoundTest()
        {
            var reserveRepositoryMock = new Mock <IRepository <Reserve> >(MockBehavior.Strict);

            reserveRepositoryMock.Setup(m => m.Get(It.IsAny <Guid>())).Throws(new ClientException());
            reserveRepositoryMock.Setup(m => m.Update(It.IsAny <Reserve>()));

            ReserveManagement reserveLogic = new ReserveManagement(reserveRepositoryMock.Object);

            Reserve reserveToUpdate = new Reserve()
            {
                Id = Guid.NewGuid(),
                DescriptionForGuest = "Su reserva ha sido aceptada",
                StateOfReserve      = Reserve.ReserveState.Aceptada
            };

            Reserve resultOfUpdate = reserveLogic.Update(reserveToUpdate.Id, reserveToUpdate);
        }
Example #8
0
        public void CreateReviewInternalErrorWhenAddReviewFailedTest()
        {
            var reviewMock  = new Mock <IReviewRepository>(MockBehavior.Strict);
            var reserveMock = new Mock <IRepository <Reserve> >(MockBehavior.Strict);
            var lodgingMock = new Mock <ILodgingRepository>(MockBehavior.Strict);

            reviewMock.Setup(m => m.Add(It.IsAny <Review>())).Throws(new ServerException());
            reserveMock.Setup(m => m.Get(It.IsAny <Guid>())).Returns(reserve);
            reviewMock.Setup(m => m.GetReviewByReserveId(It.IsAny <Guid>())).Returns(value: null);
            reviewMock.Setup(m => m.GetAverageReviewScoreByLodging(It.IsAny <Guid>())).Returns(4.0);
            lodgingMock.Setup(m => m.Update(lodging));

            IReserveManagement reserveLogic = new ReserveManagement(reserveMock.Object);
            ILodgingManagement lodgingLogic = new LodgingManagement(lodgingMock.Object);


            ReviewManagement reviewLogic  = new ReviewManagement(reviewMock.Object, reserveLogic, lodgingLogic);
            Review           reviewResult = reviewLogic.Create(review, reserve.Id);
        }
Example #9
0
        public void CreateReviewThatAlredyExistForThisCodeReserveFailedTest()
        {
            var reviewMock  = new Mock <IReviewRepository>(MockBehavior.Strict);
            var reserveMock = new Mock <IRepository <Reserve> >(MockBehavior.Strict);
            var lodgingMock = new Mock <ILodgingRepository>(MockBehavior.Strict);

            reviewMock.Setup(m => m.Add(It.IsAny <Review>()));
            reserveMock.Setup(m => m.Get(It.IsAny <Guid>())).Returns(reserve);
            reviewMock.Setup(m => m.GetReviewByReserveId(It.IsAny <Guid>())).Returns(review);
            reviewMock.Setup(m => m.GetAverageReviewScoreByLodging(It.IsAny <Guid>())).Returns(4.0);
            lodgingMock.Setup(m => m.Update(lodging));

            IReserveManagement reserveLogic = new ReserveManagement(reserveMock.Object);
            ILodgingManagement lodgingLogic = new LodgingManagement(lodgingMock.Object);


            ReviewManagement reviewLogic  = new ReviewManagement(reviewMock.Object, reserveLogic, lodgingLogic);
            Review           reviewResult = reviewLogic.Create(review, reserve.Id);
        }
Example #10
0
        public void CreateReviewWithNumberOfStarsGreaterThanFiveFailedTest()
        {
            review.Score = 7;

            var reviewMock  = new Mock <IReviewRepository>(MockBehavior.Strict);
            var reserveMock = new Mock <IRepository <Reserve> >(MockBehavior.Strict);
            var lodgingMock = new Mock <ILodgingRepository>(MockBehavior.Strict);

            reviewMock.Setup(m => m.Add(It.IsAny <Review>()));
            reserveMock.Setup(m => m.Get(It.IsAny <Guid>())).Returns(reserve);
            reviewMock.Setup(m => m.GetReviewByReserveId(It.IsAny <Guid>())).Returns(value: null);
            reviewMock.Setup(m => m.GetAverageReviewScoreByLodging(It.IsAny <Guid>())).Returns(4.0);
            lodgingMock.Setup(m => m.Update(lodging));

            IReserveManagement reserveLogic = new ReserveManagement(reserveMock.Object);
            ILodgingManagement lodgingLogic = new LodgingManagement(lodgingMock.Object);


            ReviewManagement reviewLogic  = new ReviewManagement(reviewMock.Object, reserveLogic, lodgingLogic);
            Review           reviewResult = reviewLogic.Create(review, reserve.Id);
        }
Example #11
0
        public void CreateReviewTestOk()
        {
            var reviewMock  = new Mock <IReviewRepository>(MockBehavior.Strict);
            var reserveMock = new Mock <IRepository <Reserve> >(MockBehavior.Strict);
            var lodgingMock = new Mock <ILodgingRepository>(MockBehavior.Strict);

            reviewMock.Setup(m => m.Add(It.IsAny <Review>()));
            reserveMock.Setup(m => m.Get(It.IsAny <Guid>())).Returns(reserve);
            reviewMock.Setup(m => m.GetReviewByReserveId(It.IsAny <Guid>())).Returns(value: null);
            reviewMock.Setup(m => m.GetAverageReviewScoreByLodging(It.IsAny <Guid>())).Returns(4.0);
            lodgingMock.Setup(m => m.Update(lodging));

            IReserveManagement reserveLogic = new ReserveManagement(reserveMock.Object);
            ILodgingManagement lodgingLogic = new LodgingManagement(lodgingMock.Object);


            ReviewManagement reviewLogic  = new ReviewManagement(reviewMock.Object, reserveLogic, lodgingLogic);
            Review           reviewResult = reviewLogic.Create(review, reserve.Id);

            reviewMock.VerifyAll();
            Assert.IsTrue(review.Equals(reviewResult));
        }
        public void GetReserveByIdClientErrorTest()
        {
            Reserve reserve = new Reserve()
            {
                Id               = Guid.NewGuid(),
                Name             = "Joaquin",
                LastName         = "Lamela",
                Email            = "*****@*****.**",
                CheckIn          = new DateTime(2020, 05, 25),
                CheckOut         = new DateTime(2020, 06, 10),
                QuantityOfAdult  = 2,
                QuantityOfChild  = 2,
                QuantityOfBaby   = 1,
                LodgingOfReserve = lodging
            };

            var reserveRepositoryMock = new Mock <IRepository <Reserve> >(MockBehavior.Strict);

            reserveRepositoryMock.Setup(m => m.Get(It.IsAny <Guid>())).Throws(new ClientException());

            ReserveManagement reserveLogic = new ReserveManagement(reserveRepositoryMock.Object);

            Reserve resultOfGetAReserve = reserveLogic.GetById(reserve.Id);
        }