Exemple #1
0
        public void CreateReserveTestOk()
        {
            var reserveManagementMock = new Mock <IReserveManagement>(MockBehavior.Strict);

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

            ReserveModelForRequest reserveModelForRequest = new ReserveModelForRequest()
            {
                Name                 = "Joaquin",
                LastName             = "Lamela",
                Email                = "*****@*****.**",
                CheckIn              = new DateTime(2020, 10, 05),
                CheckOut             = new DateTime(2020, 10, 07),
                QuantityOfAdult      = 1,
                QuantityOfBaby       = 1,
                QuantityOfChild      = 1,
                QuantityOfRetired    = 2,
                IdOfLodgingToReserve = lodgingForReserve.Id
            };

            var result        = reserveController.Post(reserveModelForRequest);
            var createdResult = result as CreatedAtRouteResult;
            var model         = createdResult.Value as ReserveModelForResponse;

            reserveManagementMock.VerifyAll();

            Assert.AreEqual(ReserveModelForResponse.ToModel(reserveOfLodging), model);
        }
Exemple #2
0
        public void InvalidCreateReserveInternalServerErrorTest()
        {
            var reserveManagementMock = new Mock <IReserveManagement>(MockBehavior.Strict);

            reserveManagementMock.Setup(m => m.Create(It.IsAny <Reserve>(), It.IsAny <Guid>())).
            Throws(new ServerBusinessLogicException());
            ReserveController reserveController = new ReserveController(reserveManagementMock.Object);

            ReserveModelForRequest reserveModelForRequest = new ReserveModelForRequest()
            {
                Name                 = "",
                LastName             = "Lamela",
                Email                = "*****@*****.**",
                CheckIn              = new DateTime(2020, 10, 05),
                CheckOut             = new DateTime(2020, 10, 07),
                QuantityOfAdult      = 1,
                QuantityOfBaby       = 1,
                QuantityOfChild      = 1,
                IdOfLodgingToReserve = lodgingForReserve.Id
            };

            var result        = reserveController.Post(reserveModelForRequest);
            var createdResult = result as ObjectResult;

            reserveManagementMock.VerifyAll();
            Assert.AreEqual(500, createdResult.StatusCode);
        }
 public IActionResult Post([FromBody] ReserveModelForRequest aReserveModel)
 {
     try
     {
         Reserve reserve = reserveManagement.Create(ReserveModelForRequest.ToEntity(aReserveModel), aReserveModel.IdOfLodgingToReserve);
         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));
     }
 }