public void ReservationsController_DeleteByUserIdProjectionId_ThrowsDbUpdateException() { //Arrange string expectedMessage = "Inner exception error message."; int expectedStatusCode = 400; Exception exception = new Exception("Inner exception error message."); DbUpdateException dbUpdateException = new DbUpdateException("Error.", exception); ReservationsController reservationsController = new ReservationsController(_mockReservationService.Object, _mockUserService.Object, _mockProjectionService.Object); _mockReservationService.Setup(x => x.DeleteByUserIdProjectionId(It.IsAny <Guid>(), It.IsAny <Guid>())).Throws(dbUpdateException); //Act var result = reservationsController.DeleteByUserIdProjectionId(_reservationDomainModel.UserId, _reservationDomainModel.ProjectionId).ConfigureAwait(false).GetAwaiter().GetResult().Result; var resultResponse = ((BadRequestObjectResult)result); var badObjectResult = ((BadRequestObjectResult)result).Value; var errorResult = (ErrorResponseModel)badObjectResult; //Assert Assert.IsNotNull(resultResponse); Assert.AreEqual(expectedMessage, errorResult.ErrorMessage); Assert.IsInstanceOfType(result, typeof(BadRequestObjectResult)); Assert.AreEqual(expectedStatusCode, resultResponse.StatusCode); }
public void ReservationsController_DeleteByUserIdProjectionId_ReservationServiceReturnsNull() { //Arrange IEnumerable <ReservationDomainModel> reservations = null; Task <IEnumerable <ReservationDomainModel> > responseTask = Task.FromResult(reservations); string expectedMessage = Messages.RESERVATION_DOES_NOT_EXIST; int expectedStatusCode = 500; ErrorResponseModel errorResponseModel = new ErrorResponseModel(); errorResponseModel.ErrorMessage = expectedMessage; errorResponseModel.StatusCode = System.Net.HttpStatusCode.InternalServerError; ReservationsController reservationsController = new ReservationsController(_mockReservationService.Object, _mockUserService.Object, _mockProjectionService.Object); _mockReservationService.Setup(x => x.DeleteByUserIdProjectionId(It.IsAny <Guid>(), It.IsAny <Guid>())).Returns(responseTask); //Act var result = reservationsController.DeleteByUserIdProjectionId(_reservationDomainModel.UserId, _reservationDomainModel.ProjectionId).ConfigureAwait(false).GetAwaiter().GetResult().Result; var viewResult = (ObjectResult)result; var viewMessage = (ErrorResponseModel)viewResult.Value; //Assert Assert.IsNotNull(result); Assert.AreEqual(viewResult.Value.ToString(), errorResponseModel.ToString()); Assert.AreEqual(errorResponseModel.ErrorMessage, viewMessage.ErrorMessage); Assert.AreEqual(viewResult.StatusCode, expectedStatusCode); }
public void ReservationsController_DeleteByUserIdProjectionId_ReturnsListOfDeletedReservations() { //Arrange List <ReservationDomainModel> reservationList = new List <ReservationDomainModel>(); reservationList.Add(_reservationDomainModel); IEnumerable <ReservationDomainModel> reservations = reservationList; Task <IEnumerable <ReservationDomainModel> > responseTask = Task.FromResult(reservations); int expectedCount = 1; int expectedStatusCode = 202; ReservationsController reservationsController = new ReservationsController(_mockReservationService.Object, _mockUserService.Object, _mockProjectionService.Object); _mockReservationService.Setup(x => x.DeleteByUserIdProjectionId(It.IsAny <Guid>(), It.IsAny <Guid>())).Returns(responseTask); //Act var result = reservationsController.DeleteByUserIdProjectionId(_reservationDomainModel.UserId, _reservationDomainModel.ProjectionId).ConfigureAwait(false).GetAwaiter().GetResult().Result; var resultList = ((AcceptedResult)result).Value; var reservationDomainModelResultList = (List <ReservationDomainModel>)resultList; //Assert Assert.IsNotNull(resultList); Assert.AreEqual(reservationDomainModelResultList.Count, expectedCount); Assert.IsInstanceOfType(reservationDomainModelResultList[0], typeof(ReservationDomainModel)); Assert.AreEqual(reservationDomainModelResultList[0].ProjectionId, _reservationDomainModel.ProjectionId); Assert.AreEqual(reservationDomainModelResultList[0].SeatId, _reservationDomainModel.SeatId); Assert.AreEqual(reservationDomainModelResultList[0].UserId, _reservationDomainModel.UserId); Assert.AreEqual(expectedStatusCode, ((AcceptedResult)result).StatusCode); }