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