public void Setup() { //add currency var britishCurrency = new Entities.Currencies.Currency { Name = "British Pound", Code = "GBP", Format = "£0.00" }; _currencyService.Add(britishCurrency); var taxRate = new TaxRate { Name = "VAT", Code = "S", Percentage = 20m }; _taxRateManager.Add(taxRate); var uk = new Country { Name = "United Kingdom", ISOTwoLetterCode = "GB" }; _countryService.AddCountry(uk); }
public void TaxRateController_AddPOST_CallsITaxRateManagerAddWithPassedTaxRate() { var taxRate = new TaxRate(); var add = _taxRateController.Add_POST(taxRate); A.CallTo(() => _taxRateManager.Add(taxRate)).MustHaveHappened(); }
public void TaxRateController_AddPOST_RedirectsToEditForTheIdOfTheSavedTaxRate() { var taxRate = new TaxRate { Id = 1 }; var add = _taxRateController.Add_POST(taxRate); add.RouteValues["action"].Should().Be("Edit"); add.RouteValues["id"].Should().Be(1); }
public void TaxRateManager_Delete_RemovesTheTaxRateFromTheSession() { var taxRate = new TaxRate(); Session.Transact(session => session.Save(taxRate)); _taxRateManager.Delete(taxRate); Session.QueryOver<TaxRate>().RowCount().Should().Be(0); }
public void Get_ShouldReturnTaxRate() { var taxRate = new TaxRate {Percentage = 10, IsDefault = true, Name = "GLOBAL", Code = "GL"}; Session.Transact(session => session.Save(taxRate)); TaxRate result = _getDefaultTaxRate.Get(); result.Should().NotBeNull(); result.Should().Be(taxRate); }
public void TaxRateManager_Update_UpdatesTheExistingTaxRate() { var taxRate = new TaxRate(); Session.Transact(session => session.Save(taxRate)); taxRate.Name = "Updated"; _taxRateManager.Update(taxRate); Session.Evict(taxRate); Session.Get<TaxRate>(1).Name.Should().Be("Updated"); }
TaxRateManager_GetDefaultRateForOrderLine_ShouldReturnDefaultTaxRateIfProductVariantTaxRateNotSpecified() { var taxRate = new TaxRate {Percentage = 10, IsDefault = true, Name = "GLOBAL", Code = "GL"}; A.CallTo(() => _getDefaultTaxRate.Get()).Returns(taxRate); var orderLine = new OrderLine {ProductVariant = new ProductVariant(), SKU = "123"}; A.CallTo(() => _productVariantService.GetProductVariantBySKU(orderLine.SKU)).Returns(null); TaxRate result = _taxRateManager.GetRateForOrderLine(orderLine); result.Should().NotBeNull(); result.Should().Be(taxRate); }
public string ProcessTaxRates(NopCommerceDataReader dataReader, NopImportContext nopImportContext) { HashSet<TaxData> taxDatas = dataReader.GetTaxData(); _session.Transact(session => { foreach (TaxData taxData in taxDatas) { var taxRate = new TaxRate { Name = taxData.Name, Percentage = taxData.Rate, }; session.Save(taxRate); nopImportContext.AddEntry(taxData.Id, taxRate); } }); return string.Format("{0} tax rates processed", taxDatas.Count); }
public void ImportProductVariantsService_ImportVariants_ShouldSetProductVariantTaxRate() { var productVariantDTO = new ProductVariantImportDataTransferObject { SKU = "123", TaxRate = 1 }; var productDTO = new ProductImportDataTransferObject { UrlSegment = "test-url", ProductVariants = new List<ProductVariantImportDataTransferObject>() { productVariantDTO } }; var product = new Product { Name = "Test Product" }; var taxRate = new TaxRate() { Id = 1, Name = "GLOBAL" }; A.CallTo(() => _taxRateManager.Get(productVariantDTO.TaxRate.Value)).Returns(taxRate); var result = _importProductVariantsService.ImportVariants(productDTO, product); result.First().TaxRate.Name.ShouldBeEquivalentTo("GLOBAL"); }
public void SetTaxDetails_SetOrderLinesTaxes_TakesIntoAccountRounding() { Kernel.SetTaxSettings(true, true); var orderLine = new OrderLine() { UnitPrice = 6.51m, Price = 13.02m, Quantity = 2 }; var order = new Order() { Total = 13.02m, OrderLines = new List<OrderLine>() { orderLine } }; var taxRate = new TaxRate() { Percentage = 20 }; A.CallTo(() => _taxRateManager.GetRateForOrderLine(orderLine)).Returns(taxRate); _setTaxes.SetOrderLinesTaxes(ref order); order.Tax.Should().Be(2.18m);//decimal.Parse("0,22")); order.Total.Should().Be(13.02m);//.Be(decimal.Parse("2,22")); order.OrderLines.First().UnitPrice.Should().Be(6.51m); //.Be(decimal.Parse("1,1")); order.OrderLines.First().UnitPricePreTax.Should().Be(5.42m); order.OrderLines.First().Price.Should().Be(13.02m); //.Be(decimal.Parse("2,2")); order.OrderLines.First().PricePreTax.Should().Be(10.84m); order.OrderLines.First().Tax.Should().Be(2.18m);//.Be(decimal.Parse("0,22")); order.OrderLines.First().TaxRate.Should().Be(20); }
public void SetTaxDetails_SetOrderLinesTaxes_ShouldSetProperties() { Kernel.Rebind<TaxSettings>() .ToConstant(new TaxSettings {TaxesEnabled = true, LoadedPricesIncludeTax = true}); var orderLine = new OrderLine() { UnitPrice = 6, Price = 12, Quantity = 2 }; var order = new Order() { Total = 12, ShippingTotal = 0m, OrderLines = new List<OrderLine>() { orderLine } }; var taxRate = new TaxRate() {Percentage = 20}; A.CallTo(() => _taxRateManager.GetRateForOrderLine(orderLine)).Returns(taxRate); _setTaxes.SetOrderLinesTaxes(ref order); order.Tax.Should().Be(2);//decimal.Parse("0,22")); order.Total.Should().Be(12);//.Be(decimal.Parse("2,22")); order.OrderLines.First().UnitPrice.Should().Be(6); //.Be(decimal.Parse("1,1")); order.OrderLines.First().UnitPricePreTax.Should().Be(5); order.OrderLines.First().Price.Should().Be(12); //.Be(decimal.Parse("2,2")); order.OrderLines.First().PricePreTax.Should().Be(10); order.OrderLines.First().Tax.Should().Be(2);//.Be(decimal.Parse("0,22")); order.OrderLines.First().TaxRate.Should().Be(20); }
public void ProductVariant_TaxRatePercentage_TaxesEnabledIsTakenFromTheTaxRatesPercentage(TaxRate rate, decimal expected) { Kernel.SetTaxSettings(true); var productVariant = new ProductVariant {TaxRate = rate}; productVariant.TaxRatePercentage.Should().Be(expected); }
public void Delete(TaxRate taxRate) { _session.Transact(session => session.Delete(taxRate)); }
public void Update(TaxRate taxRate) { _session.Transact(session => session.Update(taxRate)); }
public void Add(TaxRate taxRate) { if (!GetAll().Any()) taxRate.IsDefault = true; _session.Transact(session => session.Save(taxRate)); }
public List<SelectListItem> GetOptions(TaxRate taxRate) { return GetOptions(taxRate == null ? (int?) null : taxRate.Id); }
public void TaxRateManager_GetDefaultRateForOrderLine_ShouldReturnTaxRate() { var taxRate = new TaxRate {Percentage = 10, IsDefault = true, Name = "GLOBAL", Code = "GL"}; var taxRate2 = new TaxRate {Percentage = 50, IsDefault = false, Name = "UK", Code = "UK"}; _taxRateManager.Add(taxRate); _taxRateManager.Add(taxRate2); var pv = new ProductVariant {TaxRate = taxRate2}; var orderLine = new OrderLine {ProductVariant = pv, SKU = "123"}; A.CallTo(() => _productVariantService.GetProductVariantBySKU(orderLine.SKU)).Returns(pv); TaxRate result = _taxRateManager.GetRateForOrderLine(orderLine); result.Should().NotBeNull(); result.Should().Be(taxRate2); }
public void TaxRateController_Edit_ShouldReturnPassedTaxRate() { var taxRate = new TaxRate(); var edit = _taxRateController.Edit(taxRate); edit.Model.Should().Be(taxRate); }
public void TaxRateController_EditPOST_ShouldCallITaxManagerUpdate() { var taxRate = new TaxRate(); var editPost = _taxRateController.Edit_POST(taxRate); A.CallTo(() => _taxRateManager.Update(taxRate)).MustHaveHappened(); }
public void TaxRateController_EditPOST_RedirectsToIndex() { var taxRate = new TaxRate { Id = 1 }; var add = _taxRateController.Edit_POST(taxRate); add.RouteValues["action"].Should().Be("Index"); }
public void SetTaxDetails_SetShippingTaxes_ShouldSetProperties() { Kernel.SetTaxSettings(true, shippingTaxesEnabled: true, shippingPricesIncludeTax: true); var order = new Order() { ShippingTotal = 3}; var taxRate = new TaxRate() { Percentage = 50 }; A.CallTo(() => _taxRateManager.GetDefaultRate()).Returns(taxRate); _setTaxes.SetShippingTaxes(ref order); order.ShippingTax.Should().Be(1); order.ShippingTaxPercentage.Should().Be(50); order.ShippingTotal.Should().Be(3); }
public void ProductVariant_TaxRatePercentage_TaxesDisabledIsZero(TaxRate rate, decimal expected) { Kernel.SetTaxSettings(false); var productVariant = new ProductVariant {TaxRate = rate}; productVariant.TaxRatePercentage.Should().Be(0); }
public void TaxRateController_Delete_ShouldReturnPassedTaxRateAsModel() { var taxRate = new TaxRate(); var delete = _taxRateController.Delete(taxRate); delete.Model.Should().Be(taxRate); }
public void TaxRateController_DeletePOST_ShouldCallDeleteForThePassedTaxRate() { var taxRate = new TaxRate(); var delete = _taxRateController.Delete_POST(taxRate); A.CallTo(() => _taxRateManager.Delete(taxRate)).MustHaveHappened(); }
public void TaxRateController_DeletePOST_ShouldRedirectToIndex() { var taxRate = new TaxRate(); var delete = _taxRateController.Delete_POST(taxRate); delete.RouteValues["action"].Should().Be("Index"); }