public void Recount_ForeignCurrency_SuccessfullyRecounted() { // Arrange var item = new ReceivedInvoiceItemRecountPostModel { UnitPrice = 100, Amount = 1, Name = "Test", Id = 1, PriceType = PriceType.WithoutVat, VatRateType = VatRateType.Basic }; var model = new ReceivedInvoiceRecountPostModel { CurrencyId = 2, ExchangeRate = 20, ExchangeRateAmount = 1, DateOfTaxing = DateTime.Today.SetKindUtc(), Items = new List <ReceivedInvoiceItemRecountPostModel> { item } }; // Act var result = _receivedInvoiceClient.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); }
public async Task RecountAsync_SuccessfullyRecounted() { // Arrange var item = new ReceivedInvoiceItemRecountPostModel { UnitPrice = 100, Amount = 2, Name = "Test", Id = 1, PriceType = PriceType.WithoutVat, VatRateType = VatRateType.Basic }; var model = new ReceivedInvoiceRecountPostModel { CurrencyId = 1, DateOfTaxing = DateTime.Today.SetKindUtc(), Items = new List <ReceivedInvoiceItemRecountPostModel> { item } }; // Act var data = (await _receivedInvoiceClient.RecountAsync(model)).AssertResult(); // Assert var recountedItem = data.Items.First(x => x.ItemType == IssuedInvoiceItemType.ItemTypeNormal); Assert.AreEqual(item.Id, recountedItem.Id); Assert.AreEqual(item.Name, recountedItem.Name); 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); }
/// <inheritdoc/> public Task <ApiResult <ReceivedInvoiceRecountGetModel> > RecountAsync(ReceivedInvoiceRecountPostModel model, CancellationToken cancellationToken = default) { var resource = $"{ResourceUrl}/Recount"; return(PostAsync <ReceivedInvoiceRecountPostModel, ReceivedInvoiceRecountGetModel>(resource, model, cancellationToken)); }
/// <inheritdoc/> public ApiResult <ReceivedInvoiceRecountGetModel> Recount(ReceivedInvoiceRecountPostModel model) { var resource = $"{ResourceUrl}/Recount"; return(Post <ReceivedInvoiceRecountPostModel, ReceivedInvoiceRecountGetModel>(resource, model)); }