예제 #1
0
        public void TestInvoiceRequestUsingAmountIncVatWithVatPercent()
        {
            CreateOrderEuRequest request = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig())
                                           .AddCustomerDetails(Item.CompanyCustomer()
                                                               .SetNationalIdNumber(TestingTool.DefaultTestCompanyNationalIdNumber)
                                                               .SetAddressSelector("ad33")
                                                               .SetEmail("*****@*****.**")
                                                               .SetPhoneNumber("999999")
                                                               .SetIpAddress("123.123.123")
                                                               .SetStreetAddress("Gatan", "23")
                                                               .SetCoAddress("c/o Eriksson")
                                                               .SetZipCode("2222")
                                                               .SetLocality("Stan"))
                                           .AddOrderRow(TestingTool.CreateIncVatBasedOrderRow())
                                           .AddFee(TestingTool.CreateIncVatBasedShippingFee())
                                           .AddFee(TestingTool.CreateIncVatBasedInvoiceFee())
                                           .SetCountryCode(TestingTool.DefaultTestCountryCode)
                                           .SetOrderDate(TestingTool.DefaultTestDate)
                                           .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber)
                                           .SetCurrency(TestingTool.DefaultTestCurrency)
                                           .UseInvoicePayment()
                                           .PrepareRequest();

            var orderRow1 = request.CreateOrderInformation.OrderRows[0];

            Assert.That(orderRow1.ArticleNumber, Is.EqualTo("1"));
            Assert.That(orderRow1.Description, Is.EqualTo("Prod: Specification"));
            Assert.That(orderRow1.PricePerUnit, Is.EqualTo(125.00M));
            Assert.That(orderRow1.NumberOfUnits, Is.EqualTo(2));
            Assert.That(orderRow1.Unit, Is.EqualTo("st"));
            Assert.That(orderRow1.VatPercent, Is.EqualTo(25));
            Assert.That(orderRow1.DiscountPercent, Is.EqualTo(0));
            Assert.That(orderRow1.PriceIncludingVat, Is.True);

            var orderRow2 = request.CreateOrderInformation.OrderRows[1];

            Assert.That(orderRow2.ArticleNumber, Is.EqualTo("33"));
            Assert.That(orderRow2.Description, Is.EqualTo("shipping: Specification"));
            Assert.That(orderRow2.PricePerUnit, Is.EqualTo(62.50M));
            Assert.That(orderRow2.NumberOfUnits, Is.EqualTo(1));
            Assert.That(orderRow2.Unit, Is.EqualTo("st"));
            Assert.That(orderRow2.VatPercent, Is.EqualTo(25));
            Assert.That(orderRow2.DiscountPercent, Is.EqualTo(0));
            Assert.That(orderRow2.PriceIncludingVat, Is.True);

            var orderRow3 = request.CreateOrderInformation.OrderRows[2];

            Assert.That(orderRow3.ArticleNumber, Is.EqualTo(""));
            Assert.That(orderRow3.Description, Is.EqualTo("Svea fee: Fee for invoice"));
            Assert.That(orderRow3.PricePerUnit, Is.EqualTo(62.50M));
            Assert.That(orderRow3.NumberOfUnits, Is.EqualTo(1));
            Assert.That(orderRow3.Unit, Is.EqualTo("st"));
            Assert.That(orderRow3.VatPercent, Is.EqualTo(25));
            Assert.That(orderRow3.DiscountPercent, Is.EqualTo(0));
            Assert.That(orderRow3.PriceIncludingVat, Is.True);
        }