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 UpdateTheDescriptionAndTheStateOfReserveTest()
        {
            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>()));

            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);

            reserve.DescriptionForGuest = "Su reserva ha sido aceptada";
            reserve.StateOfReserve      = Reserve.ReserveState.Creada;

            reserveRepositoryMock.VerifyAll();
            Assert.IsTrue(reserve.Equals(resultOfUpdate));
        }