public void TestCheckoutCustomerDoesntExist() { CheckoutRequest request = new CheckoutRequest() { BookIdentifier = 1, CustomerIdentifier = 1 }; try { myLogic.CheckoutABook(request); } catch (Exception e) { Assert.IsTrue(e != null); Assert.IsTrue(e.Message.Contains("The customer does not exist in this system")); } }
public ActionResult Checkout([FromBody] CheckoutRequest checkoutRequest) { if (ModelState.IsValid) { try { bool success = _libraryLogic.CheckoutABook(checkoutRequest); if (success) { return(Ok(new Response <bool> { Status = "200", ResponseMessage = "Book Checked out successfully.", ResponseData = success })); } else { return(BadRequest(new Response <bool> { Status = "500", ResponseMessage = "Book Checkout did not succeed. Please try again later", ResponseData = success })); } } catch (Exception e) { return(BadRequest(new Response <string> { Status = "500", ResponseMessage = "Book Checkout did not succeed. Please try again later", ResponseData = e.Message })); } } else { return(BadRequest(new Response <bool> { Status = "400", ResponseMessage = string.Join(" | ", ModelState.Values.SelectMany(v => v.Errors).Select(e => e.ErrorMessage)), ResponseData = false })); } }