public void Recount_SuccessfullyRecounted() { // Arrange var item = new IssuedInvoiceItemRecountPostModel { DiscountPercentage = 0, UnitPrice = 100, Amount = 2, Name = "Test", Id = 1, ItemType = IssuedInvoiceItemType.ItemTypeReduce, PriceType = PriceType.WithoutVat, VatRateType = VatRateType.Basic }; var model = new IssuedInvoiceRecountPostModel { CurrencyId = 1, DateOfTaxing = DateTime.Today.SetKindUtc(), DiscountPercentage = 0, PaymentOptionId = 1, Items = new List <IssuedInvoiceItemRecountPostModel> { item } }; // Act var data = _issuedInvoiceClient.Recount(model).AssertResult(); // Assert var recountedItem = data.Items.First(x => x.ItemType == IssuedInvoiceItemType.ItemTypeReduce); Assert.AreEqual(item.Id, recountedItem.Id); Assert.AreEqual(item.Name, recountedItem.Name); Assert.AreEqual(item.ItemType, recountedItem.ItemType); Assert.AreEqual(242, recountedItem.Prices.TotalWithVat); Assert.AreEqual(242, recountedItem.Prices.TotalWithVatHc); Assert.AreEqual(42, recountedItem.Prices.TotalVat); Assert.AreEqual(42, recountedItem.Prices.TotalVatHc); Assert.AreEqual(200, recountedItem.Prices.TotalWithoutVat); Assert.AreEqual(200, recountedItem.Prices.TotalWithoutVatHc); }
private static IssuedInvoiceRecountPostModel CreateRecountPostModel() { var model = new IssuedInvoiceRecountPostModel { CurrencyId = 1, DateOfTaxing = DateTime.Today.SetKindUtc(), PaymentOptionId = 1, Items = new List <IssuedInvoiceItemRecountPostModel> { new IssuedInvoiceItemRecountPostModel { Amount = 1, PriceType = PriceType.WithVat, UnitPrice = 10.1m, VatRateType = VatRateType.Basic } } }; return(model); }
public void Recount_ForeignCurrency_SuccessfullyRecounted() { // Arrange var item = new IssuedInvoiceItemRecountPostModel { DiscountPercentage = 0, UnitPrice = 100, Amount = 1, Name = "Test", Id = 1, PriceType = PriceType.WithoutVat, VatRateType = VatRateType.Basic }; var model = new IssuedInvoiceRecountPostModel { CurrencyId = 2, ExchangeRate = 20, ExchangeRateAmount = 1, DateOfTaxing = DateTime.Today.SetKindUtc(), DiscountPercentage = 0, PaymentOptionId = 1, Items = new List <IssuedInvoiceItemRecountPostModel> { item } }; // Act var result = _issuedInvoiceClient.Recount(model).AssertResult(); // Assert var recountedItem = result.Items.First(x => x.ItemType == IssuedInvoiceItemType.ItemTypeNormal); Assert.AreEqual(1, result.ExchangeRateAmount); Assert.AreEqual(20, result.ExchangeRate); Assert.AreEqual(2, result.CurrencyId); Assert.AreEqual(121, recountedItem.Prices.TotalWithVat); Assert.AreEqual(2420, recountedItem.Prices.TotalWithVatHc); }
/// <inheritdoc /> public ApiResult <IssuedInvoiceRecountGetModel> Recount(IssuedInvoiceRecountPostModel model) { var resource = $"{ResourceUrl}/Recount"; return(Post <IssuedInvoiceRecountPostModel, IssuedInvoiceRecountGetModel>(resource, model)); }
/// <inheritdoc /> public Task <ApiResult <IssuedInvoiceRecountGetModel> > RecountAsync(IssuedInvoiceRecountPostModel model, CancellationToken cancellationToken = default) { var resource = $"{ResourceUrl}/Recount"; return(PostAsync <IssuedInvoiceRecountPostModel, IssuedInvoiceRecountGetModel>(resource, model, cancellationToken)); }