public async void TestGet()
        {
            var builder = new WebHostBuilder()
                          .UseEnvironment("Production")
                          .UseStartup <TestStartup>();
            TestServer testServer = new TestServer(builder);

            var client = new ApiClient(testServer.CreateClient());
            ApiProductCategoryResponseModel response = await client.ProductCategoryGetAsync(1);

            response.Should().NotBeNull();
        }
        public async void Get_null_record()
        {
            var mock = new ServiceMockFacade <IProductCategoryRepository>();

            mock.RepositoryMock.Setup(x => x.Get(It.IsAny <int>())).Returns(Task.FromResult <ProductCategory>(null));
            var service = new ProductCategoryService(mock.LoggerMock.Object,
                                                     mock.RepositoryMock.Object,
                                                     mock.ModelValidatorMockFactory.ProductCategoryModelValidatorMock.Object,
                                                     mock.BOLMapperMockFactory.BOLProductCategoryMapperMock,
                                                     mock.DALMapperMockFactory.DALProductCategoryMapperMock,
                                                     mock.BOLMapperMockFactory.BOLProductSubcategoryMapperMock,
                                                     mock.DALMapperMockFactory.DALProductSubcategoryMapperMock);

            ApiProductCategoryResponseModel response = await service.Get(default(int));

            response.Should().BeNull();
            mock.RepositoryMock.Verify(x => x.Get(It.IsAny <int>()));
        }
        public async void ByName_Exists()
        {
            var mock   = new ServiceMockFacade <IProductCategoryRepository>();
            var record = new ProductCategory();

            mock.RepositoryMock.Setup(x => x.ByName(It.IsAny <string>())).Returns(Task.FromResult(record));
            var service = new ProductCategoryService(mock.LoggerMock.Object,
                                                     mock.RepositoryMock.Object,
                                                     mock.ModelValidatorMockFactory.ProductCategoryModelValidatorMock.Object,
                                                     mock.BOLMapperMockFactory.BOLProductCategoryMapperMock,
                                                     mock.DALMapperMockFactory.DALProductCategoryMapperMock,
                                                     mock.BOLMapperMockFactory.BOLProductSubcategoryMapperMock,
                                                     mock.DALMapperMockFactory.DALProductSubcategoryMapperMock);

            ApiProductCategoryResponseModel response = await service.ByName(default(string));

            response.Should().NotBeNull();
            mock.RepositoryMock.Verify(x => x.ByName(It.IsAny <string>()));
        }
        public async void TestGet()
        {
            ApiProductCategoryResponseModel response = await this.Client.ProductCategoryGetAsync(1);

            response.Should().NotBeNull();
        }