public void AddAnExistingStockProduct()
        {
            //Setup
            var proStock = new ProductStock()
            {
                ProductId  = 3,
                ProviderId = 1,
                Amount     = 3,
                State      = StateEnum.Available,
                Code       = "31" + StateEnum.Available.ToString(),
            };


            //Act
            var proStockManager = new ProductStockManager(dataServiceMock.Object);

            proStock.Code = proStockManager.GenerateCode(proStock);
            var proStockExpected = proStockManager.Add(proStock);

            //Asserts
            dataServiceMock.Verify(
                m => m.Update <ProductStock>(It.IsAny <ProductStock>()),
                Times.AtLeastOnce);
            Assert.AreEqual(7, list.Count);
            Assert.AreEqual(8, proStockExpected.Amount);
        }
        public void AddNewStockProduct()
        {
            var proStock = new ProductStock()
            {
                ProductId  = 1,
                ProviderId = 1,
                Amount     = 10,
                State      = StateEnum.AwaitingForReturn,
                Product    = product2,
                Provider   = provider1
            };

            dataServiceMock.Setup(m => m.Insert <ProductStock>(proStock))
            .Returns(new ProductStock()
            {
                ProductStockId = list.Count + 1,
                Amount         = proStock.Amount,
                Code           = proStock.Code,
                Product        = proStock.Product,
                ProductId      = proStock.ProductId,
                ProviderId     = proStock.ProviderId,
                Provider       = proStock.Provider,
            })
            .Verifiable();

            //Act
            var proStockManager = new ProductStockManager(dataServiceMock.Object);

            proStock.Code = proStockManager.GenerateCode(proStock);
            var proStockExpected = proStockManager.Add(proStock);

            //Asserts
            dataServiceMock.Verify();
            Assert.AreEqual(8, proStockExpected.ProductStockId);
            Assert.AreEqual(8, list.Count);
        }