public void ConvertService_NaegativeNumber_ExceptionShouldReturn() { var numberDetail = new NumberDetailRequest { Name = "Behnam karimi", Number = -3324.39m }; var result = _converterController.Convert(numberDetail) as HttpResponseMessage; var exception = Assert.Throws <HttpRequestException>(() => result.EnsureSuccessStatusCode()); }
public HttpResponseMessage Convert(NumberDetailRequest request) { try { // maps the reqeust data contract to entity to be passed to business layer NumberDetail numberDetail = Mapper.Map <NumberDetailRequest, NumberDetail>(request); ConverterComponent converter = new ConverterComponent(); NumberDetail result = converter.ProccesNumber(numberDetail); // creates a response with 200 status code and passes the result. return(Request.CreateResponse(HttpStatusCode.OK, result)); } catch (Exception ex) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message)); } }
public void ConvertServiceTest() { var numberDetail = new NumberDetailRequest { Name = "Behnam karimi", Number = 3324.39m }; var result = _converterController.Convert(numberDetail) as HttpResponseMessage; result.EnsureSuccessStatusCode(); var resultContent = result.Content.ReadAsAsync <NumberDetail>().GetAwaiter().GetResult(); Assert.AreEqual(HttpStatusCode.OK, result.StatusCode); Assert.IsNotNull(resultContent); Assert.AreEqual(numberDetail.Name, resultContent.Name); Assert.AreEqual(numberDetail.Number, resultContent.Number); Assert.AreEqual("three thousand and three hundred and twenty-four dollars and thirty-nine cents", resultContent.ConvertedNumber); Assert.AreEqual(DateTime.UtcNow.Date, resultContent.DateCreated.Date); Assert.AreNotEqual(Guid.Empty, resultContent.Id); }