public IActionResult Put(Guid idForUpdateReserve, [FromBody] ReserveModelForRequestUpdate aReserveModelForUpdate)
 {
     try
     {
         Reserve reserve = reserveManagement.Update(idForUpdateReserve, ReserveModelForRequestUpdate.ToEntity(aReserveModelForUpdate));
         return(CreatedAtRoute("reserve", new { id = reserve.Id }, ReserveModelForResponse.ToModel(reserve)));
     }
     catch (DomainBusinessLogicException e)
     {
         return(BadRequest(e.Message));
     }
     catch (ClientBusinessLogicException e)
     {
         return(NotFound(e.Message));
     }
     catch (ServerBusinessLogicException e)
     {
         return(StatusCode(StatusCodes.Status500InternalServerError, e.Message));
     }
 }
Exemplo n.º 2
0
        public void UpdateReserveTestOk()
        {
            var reserveManagementMock = new Mock <IReserveManagement>(MockBehavior.Strict);

            reserveManagementMock.Setup(m => m.Update(It.IsAny <Guid>(), It.IsAny <Reserve>())).Returns(reserveOfLodging);
            ReserveController reserveController = new ReserveController(reserveManagementMock.Object);

            ReserveModelForRequestUpdate reserveModelForRequestUpdate = new ReserveModelForRequestUpdate()
            {
                Id             = reserveOfLodging.Id,
                Description    = "Su reserva ha sido aceptada correctamente, por favor verifique el nuevo estado",
                StateOfReserve = Reserve.ReserveState.Aceptada
            };

            var result        = reserveController.Put(reserveOfLodging.Id, reserveModelForRequestUpdate);
            var createdResult = result as CreatedAtRouteResult;
            var model         = createdResult.Value as ReserveModelForResponse;

            reserveManagementMock.VerifyAll();

            Reserve reserveToCompare = new Reserve()
            {
                Id                   = reserveOfLodging.Id,
                Name                 = "Joaquin",
                LastName             = "Lamela",
                Email                = "*****@*****.**",
                DescriptionForGuest  = "Su reserva ha sido aceptada correctamente, por favor verifique el nuevo estado",
                PhoneNumberOfContact = 29082733,
                CheckIn              = new DateTime(2020, 10, 05),
                CheckOut             = new DateTime(2020, 10, 07),
                QuantityOfAdult      = 1,
                QuantityOfBaby       = 1,
                QuantityOfChild      = 1,
                QuantityOfRetired    = 2,
                LodgingOfReserve     = lodgingForReserve,
                StateOfReserve       = Reserve.ReserveState.Aceptada,
                TotalPrice           = 660
            };

            Assert.AreEqual(ReserveModelForResponse.ToModel(reserveToCompare), model);
        }
Exemplo n.º 3
0
        public void FailInUpdateEmptyDescriptionTest()
        {
            var reserveManagementMock = new Mock <IReserveManagement>(MockBehavior.Strict);

            reserveManagementMock.Setup(m => m.Update(It.IsAny <Guid>(), It.IsAny <Reserve>())).
            Throws(new DomainBusinessLogicException("No se ha podido actualizar correctamente la reserva"));
            ReserveController reserveController = new ReserveController(reserveManagementMock.Object);

            ReserveModelForRequestUpdate reserveModelForRequestUpdate = new ReserveModelForRequestUpdate()
            {
                Id             = reserveOfLodging.Id,
                Description    = "Su reserva ha sido aceptada correctamente, por favor verifique el nuevo estado",
                StateOfReserve = Reserve.ReserveState.Aceptada
            };

            var result        = reserveController.Put(reserveOfLodging.Id, reserveModelForRequestUpdate);
            var createdResult = result as BadRequestObjectResult;

            reserveManagementMock.VerifyAll();
            Assert.AreEqual(400, createdResult.StatusCode);
        }