public AmazonListing UpdateAmazonListing(AmazonListing amazonListing) { var productVariant = _productVariantService.GetProductVariantBySKU(amazonListing.ProductVariant.SKU); amazonListing.ProductVariant = productVariant; amazonListing.Brand = productVariant.Product.Brand != null ? productVariant.Product.Brand.Name : String.Empty; amazonListing.Condition = ConditionType.New; var currency = _ecommerceSettings.Currency(); amazonListing.Currency = (currency != null && !String.IsNullOrWhiteSpace(currency.Code))?currency.Code:CurrencyCode.GBP.GetDescription(); amazonListing.Manafacturer = productVariant.Product.Brand != null ? productVariant.Product.Brand.Name : String.Empty; amazonListing.MfrPartNumber = productVariant.ManufacturerPartNumber; amazonListing.Quantity = productVariant.TrackingPolicy == TrackingPolicy.Track ? _getStockRemainingQuantity.Get(productVariant) : 1000; amazonListing.Price = _productPricingMethod.GetUnitPrice(productVariant, 0m, 0m); amazonListing.SellerSKU = productVariant.SKU; amazonListing.Title = productVariant.DisplayName; amazonListing.StandardProductIDType = _amazonSellerSettings.BarcodeIsOfType; amazonListing.StandardProductId = productVariant.Barcode.Trim(); amazonListing.FulfillmentChannel = amazonListing.AmazonListingGroup.FulfillmentChannel ?? AmazonFulfillmentChannel.MFN; _amazonListingService.Save(amazonListing); return(amazonListing); }
public void ListingController_AddOnePOST_ShouldCallSave() { var listing = new AmazonListing(); var result = _listingController.AddOne_POST(listing); A.CallTo(() => _amazonListingService.Save(listing)).MustHaveHappened(); }
public void PrepareForSyncAmazonListingService_UpdateAmazonListing_ShouldCallSave() { var item = new Currency() { Code = "GBP", Id = 1 }; Session.Transact(session => session.Save(item)); var mockingKernel = new MockingKernel(); MrCMSKernel.OverrideKernel(mockingKernel); mockingKernel.Bind <ISession>().ToMethod(context => A.Fake <ISession>()); mockingKernel.Bind <EcommerceSettings>().ToMethod(context => new EcommerceSettings() { CurrencyId = 1 }); var product = new Product() { BrandPage = new Brand() { Name = "B" } }; var productVariant = new ProductVariant() { Product = product, SKU = "S1", BasePrice = 1, StockRemaining = 2, Name = "P", ManufacturerPartNumber = "MPN1", Barcode = "" }; var model = new AmazonListing() { ProductVariant = productVariant, StandardProductId = "1P", StandardProductIDType = StandardProductIDType.EAN, AmazonListingGroup = new AmazonListingGroup() { FulfillmentChannel = AmazonFulfillmentChannel.MFN } }; A.CallTo(() => _productVariantService.GetProductVariantBySKU(model.ProductVariant.SKU)).Returns(productVariant); var results = _prepareForSyncAmazonListingService.UpdateAmazonListing(model); A.CallTo(() => _amazonListingService.Save(model)).MustHaveHappened(); }
public ActionResult AddOne_POST(AmazonListing amazonListing) { if (amazonListing != null) { if (ModelState.IsValid) { _amazonListingService.Save(amazonListing); return(RedirectToAction("SyncOne", new { id = amazonListing.Id })); } return(View(amazonListing)); } return(RedirectToAction("Index", "ListingGroup")); }