public void Get_WithNoParameters_ShouldReturnList()
        {
            // Arrange
            var mockRepository = new Mock <ISubCategoryRepository>();
            var expectedValue  = new List <SubCategoryModel>()
            {
                new SubCategoryModel()
                {
                    Id          = 7453,
                    Description = "rerum"
                }
            };

            mockRepository
            .Setup(m => m.SelectList())
            .Returns(expectedValue);

            var controller = new SubCategoryController(mockRepository.Object);

            // Act
            var result      = controller.Get();
            var actualValue = (List <SubCategoryModel>)result.Value;

            // Assert
            CollectionAssert.AreEqual(expectedValue, actualValue);
        }
        public void Controller_SubCategory_GetMethod()
        {
            //Arrange
            SubCategoryController controller = new SubCategoryController();
            var productFor  = "All";
            var productType = "Art";
            //Act
            var result     = controller.Get(productFor, productType).Result as ActionResult;
            var viewResult = result.ToBsonDocument();
            var filter     = viewResult["Value"].AsBsonDocument;
            var code       = filter["Code"].AsString;
            var message    = filter["Message"].AsString;
            var data       = filter["Data"].AsBsonDocument;

            //Assert
            Assert.IsNotNull(result);
            Assert.AreEqual("200", code);
            Assert.AreEqual("Success", message);
            Assert.IsNotNull(data);
        }
        public void Get_WithParameter42_ShouldReturnDbModel()
        {
            // Arrange
            var actualId       = 7452;
            var mockRepository = new Mock <ISubCategoryRepository>();
            var expectedValue  = new SubCategoryModel()
            {
                Id          = actualId,
                Description = "rerum"
            };

            mockRepository
            .Setup(m => m.Select(actualId))
            .Returns(expectedValue);

            var controller = new SubCategoryController(mockRepository.Object);

            // Act
            var result      = controller.Get(actualId) as JsonResult;
            var actualValue = (SubCategoryModel)result.Value;

            // Assert
            Assert.AreEqual(expectedValue, actualValue);
        }