Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        /// <inheritdoc />
        public ApiResult <IssuedInvoiceRecountGetModel> Recount(IssuedInvoiceRecountPostModel model)
        {
            var resource = $"{ResourceUrl}/Recount";

            return(Post <IssuedInvoiceRecountPostModel, IssuedInvoiceRecountGetModel>(resource, model));
        }
Exemplo n.º 5
0
        /// <inheritdoc />
        public Task <ApiResult <IssuedInvoiceRecountGetModel> > RecountAsync(IssuedInvoiceRecountPostModel model, CancellationToken cancellationToken = default)
        {
            var resource = $"{ResourceUrl}/Recount";

            return(PostAsync <IssuedInvoiceRecountPostModel, IssuedInvoiceRecountGetModel>(resource, model, cancellationToken));
        }