public async Task WhenEmptySinceDateTimeInRequest_ThenGetProductDataSinceDateTimeReturnsBadRequest() { var validationMessage = new ValidationFailure("SinceDateTime", "Query parameter 'sinceDateTime' is required.") { ErrorCode = HttpStatusCode.BadRequest.ToString() }; var exchangeSetResponse = new ExchangeSetResponse() { }; var exchangeSetServiceResponse = new ExchangeSetServiceResponse() { ExchangeSetResponse = exchangeSetResponse, HttpStatusCode = HttpStatusCode.BadRequest }; A.CallTo(() => fakeProductDataService.ValidateProductDataSinceDateTime(A <ProductDataSinceDateTimeRequest> .Ignored)) .Returns(new ValidationResult(new List <ValidationFailure> { validationMessage })); A.CallTo(() => fakeProductDataService.CreateProductDataSinceDateTime(A <ProductDataSinceDateTimeRequest> .Ignored, A <AzureAdB2C> .Ignored)) .Returns(exchangeSetServiceResponse); var result = (BadRequestObjectResult)await controller.GetProductDataSinceDateTime(null, "https://www.abc.com"); var errors = (ErrorDescription)result.Value; Assert.AreEqual(400, result.StatusCode); Assert.AreEqual("Query parameter 'sinceDateTime' is required.", errors.Errors.Single().Description); }