public void Add_AddsClaimAndReturnsARedirect_WhenModelStateIsValid()
        {
            // Arrange
            var mockRepo = new Mock <ICosmosDbService>();

            mockRepo.Setup(repo => repo.AddItemAsync(It.IsAny <Claim>()))
            .Verifiable();
            var controller = new ClaimController(mockRepo.Object);
            var newClaim   = GetTestClaim();

            // Act
            var result = controller.CreateAsync(newClaim) as Task <ActionResult>;

            // Assert
            var redirectToActionResult = Assert.IsType <RedirectToActionResult>(result.Result);

            Assert.Null(redirectToActionResult.ControllerName);
            Assert.Equal("Index", redirectToActionResult.ActionName);
            mockRepo.Verify();
        }
        public void Add_ReturnsBadRequestResult_WhenModelStateIsInvalid()
        {
            // Arrange
            var mockRepo = new Mock <ICosmosDbService>();


            var controller = new ClaimController(mockRepo.Object);

            controller.ModelState.AddModelError("Name", "Required");
            var newClaim = GetTestClaim();

            newClaim.DamageCost = 300.7m;

            // Act
            var result = controller.CreateAsync(newClaim);

            // Assert
            var badRequestResult = Assert.IsType <ViewResult>(result.Result);

            Assert.True(!badRequestResult.ViewData.ModelState.IsValid);
        }