예제 #1
0
        public void UpdateShouldReturnBadRequestWithInvalidIdMessage()
        {
            var validModel = TestObjectFactoryDataTransferModels.GetValidUpdateFareRequestModel();

            var invalidId        = -1;
            var result           = this.faresController.Update(invalidId, validModel);
            var badRequestResult = result as BadRequestErrorMessageResult;

            Assert.AreEqual(typeof(BadRequestErrorMessageResult), result.GetType());
            Assert.AreEqual(ErrorMessages.INVALID_ID, badRequestResult.Message);
        }
예제 #2
0
        public void UpdateShouldMapCorrectAction()
        {
            var updateRequestModel = TestObjectFactoryDataTransferModels.GetValidUpdateFareRequestModel();
            var jsonContent        = JsonConvert.SerializeObject(updateRequestModel);

            MyWebApi
            .Routes()
            .ShouldMap(UPDATE_PATH + updateRequestModel.Id)
            .WithJsonContent(jsonContent)
            .And()
            .WithHttpMethod(HttpMethod.Put)
            .To <FaresController>(f => f.Update(updateRequestModel.Id, updateRequestModel));
        }
예제 #3
0
        public void UpdateShouldReturnNotFound()
        {
            this.faresController.Configuration = new HttpConfiguration();

            var validModel = TestObjectFactoryDataTransferModels.GetValidUpdateFareRequestModel();

            this.faresController.Validate(validModel);

            var notFoundId = 10;
            var result     = this.faresController.Update(notFoundId, validModel);

            Assert.AreEqual(typeof(NotFoundResult), result.GetType());
        }
예제 #4
0
        public void UpdateShouldReturOkResultWithId()
        {
            this.faresController.Configuration = new HttpConfiguration();

            var validModel = TestObjectFactoryDataTransferModels.GetValidUpdateFareRequestModel();

            this.faresController.Validate(validModel);

            var result   = this.faresController.Update(Constants.ENTITY_VALID_ID, validModel);
            var okResult = result as OkNegotiatedContentResult <int>;

            Assert.IsNotNull(okResult);
            Assert.AreEqual(validModel.Id, okResult.Content);
        }
예제 #5
0
        public void UpdateShouldThrowExceptionWithRouteDoesNotExistWhenHttpMethodIsInvalid()
        {
            var updateRequestModel = TestObjectFactoryDataTransferModels.GetValidUpdateFareRequestModel();
            var jsonContent        = JsonConvert.SerializeObject(updateRequestModel);

            var invalidHttpMethod = HttpMethod.Post;

            MyWebApi
            .Routes()
            .ShouldMap(UPDATE_PATH + updateRequestModel.Id)
            .WithJsonContent(jsonContent)
            .And()
            .WithHttpMethod(invalidHttpMethod)
            .To <FaresController>(f => f.Update(updateRequestModel.Id, updateRequestModel));
        }
예제 #6
0
        public void UpdateShouldThrowExceptionWithDifferenParameterWhenIdDoesNotMatch()
        {
            var updateRequestModel = TestObjectFactoryDataTransferModels.GetValidUpdateFareRequestModel();
            var jsonContent        = JsonConvert.SerializeObject(updateRequestModel);

            var pathId   = 1;
            var methodId = 2;

            MyWebApi
            .Routes()
            .ShouldMap(UPDATE_PATH + pathId)
            .WithJsonContent(jsonContent)
            .And()
            .WithHttpMethod(HttpMethod.Put)
            .To <FaresController>(f => f.Update(methodId, updateRequestModel));
        }