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));
        }
示例#3
0
        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);
        }