public async Task BeGetBadRequestWhenStoreCustomerIsCalledWithoutBodyAsync() { // Arrange ICustomerManagementService customerManagementService = A.Fake <ICustomerManagementService>(); ILogger logger = A.Fake <ILogger>(); var sut = new CustomerManagementFunctions(customerManagementService); var httpContext = new DefaultHttpContext(); var httpRequest = new DefaultHttpRequest(httpContext); A.CallTo(() => customerManagementService.StoreCustomerInformationAsync(TestHelper.CustomerId)) .Returns(TestHelper.GetCustomerInfoWithTestHelperDefaultValues()); // Act IActionResult actual = await sut.StoreCustomerAsync(httpRequest); // Assert Assert.Equal(HttpStatusCode.BadRequest, (HttpStatusCode)((StatusCodeResult)actual).StatusCode); }
public async Task ThrowsExceptionWhenBodyIsNotCorrectFormatAsync() { // Arrange ICustomerManagementService customerManagementService = A.Fake <ICustomerManagementService>(); ILogger logger = A.Fake <ILogger>(); var sut = new CustomerManagementFunctions(customerManagementService); var httpContext = new DefaultHttpContext(); var httpRequest = new DefaultHttpRequest(httpContext) { Body = new MemoryStream(Encoding.UTF8.GetBytes("NotCorrectFormat")) }; A.CallTo(() => customerManagementService.StoreCustomerInformationAsync(TestHelper.CustomerId)) .Returns(TestHelper.GetCustomerInfoWithTestHelperDefaultValues()); // Act & Assert await Assert.ThrowsAsync <JsonReaderException>(() => sut.StoreCustomerAsync(httpRequest)); }
public async Task <IActionResult> StoreCustomerAsync( [HttpTrigger(AuthorizationLevel.Function, "post", Route = "customer/management")] HttpRequest req) { var requestBody = await new StreamReader(req.Body).ReadToEndAsync(); if (string.IsNullOrWhiteSpace(requestBody)) { return(new BadRequestResult()); } StoreCustomer storeCustomer = JsonConvert.DeserializeObject <StoreCustomer>(requestBody); CustomerInfo customerInfo = await _customerManagementService.StoreCustomerInformationAsync(storeCustomer.customerId); if (customerInfo is null) { return(new BadRequestResult()); } return(new OkObjectResult(customerInfo)); }
public async Task GetBadResultWhenCustomerInfoObjectIsNullAsync() { // Arrange ICustomerManagementService customerManagementService = A.Fake <ICustomerManagementService>(); ILogger logger = A.Fake <ILogger>(); var sut = new CustomerManagementFunctions(customerManagementService); var httpContext = new DefaultHttpContext(); var httpRequest = new DefaultHttpRequest(httpContext) { Body = new MemoryStream(Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(TestHelper.GetStoreCustomerWithTestHelperDefaultValues()))) }; A.CallTo(() => customerManagementService.StoreCustomerInformationAsync(TestHelper.CustomerId)) .Returns <CustomerInfo>(null); // Act IActionResult actual = await sut.StoreCustomerAsync(httpRequest); // Assert Assert.Equal(HttpStatusCode.BadRequest, (HttpStatusCode)((StatusCodeResult)actual).StatusCode); }