public void Creates_new_tblPackaging_record_as_expected() { //Arrange var parameters = new CreatePackagingProductParameters { UserToken = TestUser.UserName, ProductName = "Test Packaging Product", ProductCode = "123456", Weight = 1, PackagingWeight = 2, PalletWeight = 3 }; //Act var result = Service.CreatePackagingProduct(parameters); result.AssertSuccess(); var resultString = GetKeyFromConsoleString(ConsoleOutput.SynchedTblPackaging); //Assert MockKillSwitch.Verify(k => k.Engage(), Times.Never()); var pkgId = int.Parse(resultString); using (var oldContext = new RioAccessSQLEntities()) { var tblProduct = oldContext.tblPackagings.FirstOrDefault(p => p.PkgID == pkgId); Assert.AreEqual(parameters.ProductName, tblProduct.Packaging); Assert.AreEqual(int.Parse(parameters.ProductCode), tblProduct.PkgID); Assert.AreEqual(parameters.Weight, tblProduct.NetWgt); Assert.AreEqual(parameters.PackagingWeight, tblProduct.PkgWgt); Assert.AreEqual(parameters.PalletWeight, tblProduct.PalletWgt); } }
internal IResult <PackagingProduct> CreatePackagingProduct(CreatePackagingProductParameters parameters, DateTime timeStamp) { if (parameters == null) { throw new ArgumentNullException("parameters"); } if (parameters.Parameters.Weight < 0) { return(new InvalidResult <PackagingProduct>(null, UserMessages.NegativeWeight)); } if (parameters.Parameters.PackagingWeight < 0) { return(new InvalidResult <PackagingProduct>(null, UserMessages.NegativePackagingWeight)); } if (parameters.Parameters.PalletWeight < 0) { return(new InvalidResult <PackagingProduct>(null, UserMessages.NegativePalletWeight)); } var productResult = CreateProduct(parameters.Parameters, ProductTypeEnum.Packaging); if (!productResult.Success) { return(productResult.ConvertTo((PackagingProduct)null)); } var product = productResult.ResultingObject; var packagingProduct = new PackagingProduct { Id = product.Id, Weight = parameters.Parameters.Weight, PackagingWeight = parameters.Parameters.PackagingWeight, PalletWeight = parameters.Parameters.PalletWeight, Product = product }; packagingProduct = _productUnitOfWork.PackagingProductRepository.Add(packagingProduct); return(new SuccessResult <PackagingProduct>(packagingProduct)); }