public void Test_UpdateSubCategory()
        {
            SubCategory subCategory = null;
            var         result      = subCategoryController.Put(subCategory).Result;

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(BadRequestErrorMessageResult));

            subCategory = new SubCategory {
                Id = Guid.NewGuid(), Name = subCategoryName, CategoryId = Guid.NewGuid()
            };
            result = subCategoryController.Put(subCategory).Result;
            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(BadRequestErrorMessageResult));

            Category category = DocumentDbRepository.GetCategory(replaceCategoryName);

            subCategory = DocumentDbRepository.GetSubCategory(subCategoryName, category);
            result      = subCategoryController.Put(subCategory).Result;
            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(BadRequestErrorMessageResult));

            subCategory.Name = replaceSubCategoryName;
            result           = subCategoryController.Put(subCategory).Result;
            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(OkNegotiatedContentResult <string>));
        }
        public void Put_WithMockedModel_ShouldBeCalledOnce()
        {
            // Arrange
            var actualId       = 7452;
            var dummyString    = Guid.NewGuid().ToString().Replace("-", "");
            var mockRepository = new Mock <ISubCategoryRepository>();
            var dbModel        = new SubCategoryModel()
            {
                Description = dummyString,
            };

            mockRepository
            .Setup(m => m.Update(dbModel));

            var controller = new SubCategoryController(mockRepository.Object);

            // Act
            controller.Put(actualId, dbModel);

            // Assert
            mockRepository
            .Verify(m => m.Update(
                        It.Is <SubCategoryModel>(
                            i => i.Id == actualId && i.Description == dummyString)),
                    Times.Once());
        }