Example #1
0
        public void ReservationsController_DeleteByProjectionId_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.DeleteByProjectionId(It.IsAny <Guid>())).Throws(dbUpdateException);

            //Act

            var result          = reservationsController.DeleteByProjectionId(_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);
        }
Example #2
0
        public void ReservationsController_DeleteByProjectionId_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.DeleteByProjectionId(It.IsAny <Guid>())).Returns(responseTask);

            //Act
            var result      = reservationsController.DeleteByProjectionId(_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);
        }
Example #3
0
        public void ReservationsController_DeleteByProjectionId_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.DeleteByProjectionId(It.IsAny <Guid>())).Returns(responseTask);

            //Act
            var result     = reservationsController.DeleteByProjectionId(_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);
        }