public void TestInvoiceRequestObjectWithAuth() { CreateOrderEuRequest request = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow()) .AddFee(TestingTool.CreateExVatBasedShippingFee()) .AddCustomerDetails(TestingTool.CreateIndividualCustomer()) .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetOrderDate(TestingTool.DefaultTestDate) .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber) .SetCurrency(TestingTool.DefaultTestCurrency) .UseInvoicePayment() .PrepareRequest(); Assert.That(request.Auth.Username, Is.EqualTo("sverigetest")); Assert.That(request.Auth.Password, Is.EqualTo("sverigetest")); Assert.That(request.Auth.ClientNumber, Is.EqualTo(79021)); }
public void TestDoNordeaSePaymentRequest() { PaymentForm form = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow()) .AddCustomerDetails(TestingTool.CreateMiniCompanyCustomer()) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetClientOrderNumber(Guid.NewGuid().ToString().Replace("-", "")) .SetCurrency(TestingTool.DefaultTestCurrency) .UsePaymentMethod(PaymentMethod.NORDEASE) .SetReturnUrl( "https://test.sveaekonomi.se/webpay/admin/merchantresponsetest.xhtml") .GetPaymentForm(); var postResponse = PostRequest(form); Assert.That(postResponse.Item1, Is.EqualTo("OK")); Assert.That(postResponse.Item2.StartsWith(ExpectedResponseStart)); }
public void TestConfiguration() { var conf = new ConfigurationProviderTestData(); CreateOrderEuResponse response = WebpayConnection.CreateOrder(conf) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow()) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow()) .AddCustomerDetails(Item.IndividualCustomer() .SetNationalIdNumber(TestingTool.DefaultTestIndividualNationalIdNumber) .SetIpAddress("123.123.123")) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetOrderDate(TestingTool.DefaultTestDate) .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber) .SetCurrency(TestingTool.DefaultTestCurrency) .UseInvoicePayment() .DoRequest(); Assert.That(response.ResultCode, Is.EqualTo(0)); Assert.That(response.Accepted, Is.True); }
public void TestCompanyIdResponse() { CreateOrderEuResponse response = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow()) .AddCustomerDetails(Item.CompanyCustomer() .SetNationalIdNumber(TestingTool.DefaultTestCompanyNationalIdNumber)) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetClientOrderNumber( TestingTool.DefaultTestClientOrderNumber) .SetOrderDate(TestingTool.DefaultTestDate) .SetCurrency(TestingTool.DefaultTestCurrency) .UseInvoicePayment() .DoRequest(); Assert.That(response.CreateOrderResult.CustomerIdentity.CustomerType, Is.EqualTo(CustomerType.Company)); Assert.IsNull(response.CreateOrderResult.CustomerIdentity.IndividualIdentity); Assert.IsNull(response.CreateOrderResult.CustomerIdentity.CompanyIdentity); Assert.That(response.Accepted, Is.True); }
public void TestInvoiceRequestObjectForCustomerIdentityIndividualFromSe() { CreateOrderEuRequest request = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow("1")) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow("2")) .AddCustomerDetails(Item.IndividualCustomer() .SetNationalIdNumber(TestingTool.DefaultTestIndividualNationalIdNumber)) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetOrderDate(TestingTool.DefaultTestDate) .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber) .SetCurrency(TestingTool.DefaultTestCurrency) .UseInvoicePayment() .PrepareRequest(); //CustomerIdentity Assert.That(request.CreateOrderInformation.CustomerIdentity.NationalIdNumber, Is.EqualTo(TestingTool.DefaultTestIndividualNationalIdNumber)); Assert.That(request.CreateOrderInformation.CustomerIdentity.CountryCode, Is.EqualTo(CountryCode.SE.ToString().ToUpper())); Assert.That(request.CreateOrderInformation.CustomerIdentity.CustomerType, Is.EqualTo(CustomerType.Individual)); }
public void TestDeliverInvoiceOrderResult() { long orderId = CreateInvoiceAndReturnOrderId(); DeliverOrderEuResponse response = WebpayConnection.DeliverOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow("1")) .SetOrderId(orderId) .SetNumberOfCreditDays(1) .SetInvoiceDistributionType(InvoiceDistributionType.POST) .SetCountryCode(TestingTool.DefaultTestCountryCode) .DeliverInvoiceOrder() .DoRequest(); Assert.That(response.Accepted, Is.True); Assert.That(response.DeliverOrderResult.InvoiceResultDetails.InvoiceDistributionType, Is.EqualTo(WebpayWS.InvoiceDistributionType.Post)); Assert.That(response.DeliverOrderResult.InvoiceResultDetails.Ocr, Is.Not.Null); Assert.That(response.DeliverOrderResult.InvoiceResultDetails.Ocr.Length, Is.GreaterThan(0)); Assert.That(response.DeliverOrderResult.InvoiceResultDetails.LowestAmountToPay, Is.EqualTo(0.0)); }
public void TestIncorrectPaymentOnDeliverOrderWithEInvoiceB2B() { const string expectedMessage = "NOT VALID - Invalid payment method, DistributionType.EINVOICEB2B can only be used when payment method is invoice."; DeliverOrderBuilder order = new DeliverOrderBuilder(SveaConfig.GetDefaultConfig()); var exception = Assert.Throws <SveaWebPayValidationException>( () => order.AddOrderRow(TestingTool.CreateExVatBasedOrderRow()) .AddFee(TestingTool.CreateExVatBasedShippingFee()) .AddDiscount(Item.FixedDiscount() .SetAmountIncVat(10)) .SetInvoiceDistributionType(DistributionType.EINVOICEB2B) .SetOrderId(54086L) .SetCountryCode(CountryCode.NO) .DeliverPaymentPlanOrder() .PrepareRequest()); Assert.That(exception.Message, Is.EqualTo(expectedMessage)); }
public void TestPayPagePaymentWithSetPaymentMethodNl() { PaymentForm form = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow()) .AddDiscount(TestingTool.CreateRelativeDiscount()) .AddCustomerDetails(Item.IndividualCustomer() .SetInitials("SB") .SetBirthDate("19460509") .SetName("Sneider", "Boasman") .SetStreetAddress("Gate", "42") .SetLocality("BARENDRECHT") .SetZipCode("1102 HG")) .SetCountryCode(CountryCode.NL) .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber) .SetCustomerReference(TestingTool.DefaultTestCustomerReferenceNumber) .SetOrderDate(TestingTool.DefaultTestDate) .SetCurrency(TestingTool.DefaultTestCurrency) .UsePaymentMethod(PaymentMethod.INVOICE) .SetReturnUrl("http://myurl.se") .GetPaymentForm(); string xml = form.GetXmlMessage(); const string expectedXml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" + "<!--Message generated by Integration package C#-->" + "<payment><paymentmethod>INVOICE</paymentmethod><customerrefno>33</customerrefno>" + "<currency>SEK</currency><amount>12500</amount><vat>2500</vat>" + "<lang>en</lang><returnurl>http://myurl.se</returnurl><iscompany>false</iscompany>" + "<orderrows><row><sku>1</sku><name>Prod</name><description>Specification</description>" + "<amount>12500</amount><vat>2500</vat><quantity>2</quantity><unit>st</unit></row>" + "<row><sku>1</sku><name>Relative</name><description>RelativeDiscount</description>" + "<amount>-12500</amount><vat>-2500</vat><quantity>1</quantity><unit>st</unit></row>" + "</orderrows><excludepaymentMethods /><addinvoicefee>false</addinvoicefee></payment>"; Assert.That(xml, Is.EqualTo(expectedXml)); string base64Payment = form.GetXmlMessageBase64(); string html = Base64Util.DecodeBase64String(base64Payment); Assert.That(html.Contains("<paymentmethod>INVOICE</paymentmethod>"), Is.True); }
[Test] public void Test_DeliverOrder_DeliverInvoiceOrder_WithOneIdenticalRows() { // create order var order = TestingTool.CreateInvoiceOrderWithTwoOrderRows(); // deliver first order row and assert the response DeliverOrderBuilder builder = WebpayConnection.DeliverOrder(SveaConfig.GetDefaultConfig()) .SetOrderId(order.CreateOrderResult.SveaOrderId) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetInvoiceDistributionType(DistributionType.POST) .SetNumberOfCreditDays(30) .SetCaptureDate(DateTime.Now) //.AddOrderRow(TestingTool.CreateExVatBasedOrderRow("1")) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow("2")) ; var delivery = builder.DeliverInvoiceOrder().DoRequest(); Assert.IsTrue(delivery.Accepted); Assert.That(delivery.DeliverOrderResult.Amount, Is.EqualTo(250.00M)); // 100ex@25%*2st *1row }
public void Test_CreateOrder_NO_WithOnlyNationalIdNumber_ShouldNotSetIndividualIdentity() { CreateOrderBuilder createOrderBuilder = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow("1")) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow("2")) .AddCustomerDetails(Item.IndividualCustomer() .SetNationalIdNumber("17054512066")) // NO test individual "Ola Norrmann" .SetCountryCode(CountryCode.NO) // NO .SetOrderDate(TestingTool.DefaultTestDate) .SetClientOrderNumber("33308") // NO Invoice .SetCurrency(TestingTool.DefaultTestCurrency) ; CreateOrderEuRequest request = createOrderBuilder.UseInvoicePayment().PrepareRequest(); Assert.IsNull(request.CreateOrderInformation.CustomerIdentity.IndividualIdentity); CreateOrderEuResponse order = createOrderBuilder.UseInvoicePayment().DoRequest(); Assert.IsTrue(order.Accepted); }
public void TestFailOnIncorrectFormatPeppolIdTooLong() { const string expectedMessage = "NOT VALID - PeppolId is too long, must be 55 characters or fewer."; var exception = Assert.Throws <SveaWebPayValidationException>( () => WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow("1")) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow("2")) .AddCustomerDetails(Item.CompanyCustomer() .SetNationalIdNumber(TestingTool.DefaultTestCompanyNationalIdNumber) .SetIpAddress("123.123.123")) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetOrderDate(TestingTool.DefaultTestDate) .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber) .SetCurrency(TestingTool.DefaultTestCurrency) .SetPeppolId("1234:asdf123456789asdf123456789asdf123456789asdf123456789asdf123456789") .UseInvoicePayment() .PrepareRequest()); Assert.That(exception.Message, Is.EqualTo(expectedMessage)); }
public void TestBuildDirectBankPaymentNotSe() { PaymentForm form = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow()) .AddFee(TestingTool.CreateExVatBasedShippingFee()) .AddFee(TestingTool.CreateExVatBasedInvoiceFee()) .AddDiscount(TestingTool.CreateRelativeDiscount()) .AddCustomerDetails(TestingTool.CreateMiniCompanyCustomer()) .SetCountryCode(CountryCode.DE) .SetOrderDate(TestingTool.DefaultTestDate) .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber) .SetCurrency(TestingTool.DefaultTestCurrency) .UsePayPageDirectBankOnly() .SetReturnUrl("http://myurl.se") .GetPaymentForm(); string base64Payment = form.GetXmlMessageBase64(); string html = Base64Util.DecodeBase64String(base64Payment); Assert.That(html.Contains("<amount>18750</amount>"), Is.True); }
public void TestExcludeDirectPaymentMethodLarge() { PaymentForm form = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow()) .AddDiscount(TestingTool.CreateRelativeDiscount()) .AddCustomerDetails(TestingTool.CreateIndividualCustomer()) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber) .SetOrderDate(TestingTool.DefaultTestDate) .SetCurrency(TestingTool.DefaultTestCurrency) .UsePayPage() .ExcludeDirectPaymentMethod() .SetReturnUrl("http://myurl.se") .GetPaymentForm(); string xml = form.GetXmlMessage(); string paymentMethod = xml.Substring(xml.IndexOf("DBNORDEASE", System.StringComparison.InvariantCulture), "DBNORDEASE".Length); Assert.That(paymentMethod, Is.EqualTo(PaymentMethod.NORDEASE.Value)); }
public void TestPaymentPlanFailCompanyCustomer() { try { WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow()) .AddFee(TestingTool.CreateExVatBasedShippingFee()) .AddCustomerDetails(TestingTool.CreateCompanyCustomer()) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetOrderDate(TestingTool.DefaultTestDate) .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber) .SetCurrency(TestingTool.DefaultTestCurrency) .UsePaymentPlanPayment(1337L) .PrepareRequest(); Assert.Fail("Expected exception not thrown."); } catch (SveaWebPayException ex) { Assert.That(ex.Message, Is.EqualTo("ERROR - CompanyCustomer is not allowed to use payment plan option.")); } }
public void TestFailOnIncorrectFormatPeppolIdWrongCustomerType() { const string expectedMessage = "NOT VALID - CustomerType must be a company when using PeppolId."; var exception = Assert.Throws <SveaWebPayValidationException>( () => WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow("1")) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow("2")) .AddCustomerDetails(Item.IndividualCustomer() .SetNationalIdNumber(TestingTool.DefaultTestIndividualNationalIdNumber) .SetIpAddress("123.123.123")) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetOrderDate(TestingTool.DefaultTestDate) .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber) .SetCurrency(TestingTool.DefaultTestCurrency) .SetPeppolId("1234:asdf") .UseInvoicePayment() .PrepareRequest()); Assert.That(exception.Message, Is.EqualTo(expectedMessage)); }
public void TestBuildOrderRowList() { var orderRows = new List <OrderRowBuilder> { TestingTool.CreateExVatBasedOrderRow("1"), TestingTool.CreateExVatBasedOrderRow("2") }; CreateOrderEuRequest request = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRows(orderRows) .AddCustomerDetails(TestingTool.CreateCompanyCustomer()) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetCustomerReference(TestingTool.DefaultTestCustomerReferenceNumber) .SetOrderDate(TestingTool.DefaultTestDate) .SetCurrency(TestingTool.DefaultTestCurrency) .UseInvoicePayment() .PrepareRequest(); Assert.That(request.CreateOrderInformation.CustomerIdentity.NationalIdNumber, Is.EqualTo("164608142222")); Assert.That(request.CreateOrderInformation.OrderRows[0].ArticleNumber, Is.EqualTo("1")); Assert.That(request.CreateOrderInformation.OrderRows[1].ArticleNumber, Is.EqualTo("2")); }
public void TestInvoiceRequestObjectForSEorderOnOneProductRow() { CreateOrderEuRequest request = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow()) .AddFee(TestingTool.CreateExVatBasedShippingFee()) .AddFee(TestingTool.CreateExVatBasedInvoiceFee()) .AddCustomerDetails(TestingTool.CreateIndividualCustomer()) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetOrderDate(TestingTool.DefaultTestDate) .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber) .SetCurrency(TestingTool.DefaultTestCurrency) .UseInvoicePayment() .PrepareRequest(); Assert.That(request.CreateOrderInformation.OrderRows[0].ArticleNumber, Is.EqualTo("1")); Assert.That(request.CreateOrderInformation.OrderRows[0].Description, Is.EqualTo("Prod: Specification")); Assert.That(request.CreateOrderInformation.OrderRows[0].PricePerUnit, Is.EqualTo(100.00)); Assert.That(request.CreateOrderInformation.OrderRows[0].NumberOfUnits, Is.EqualTo(2)); Assert.That(request.CreateOrderInformation.OrderRows[0].Unit, Is.EqualTo("st")); Assert.That(request.CreateOrderInformation.OrderRows[0].VatPercent, Is.EqualTo(25)); Assert.That(request.CreateOrderInformation.OrderRows[0].DiscountPercent, Is.EqualTo(0)); Assert.That(request.CreateOrderInformation.OrderRows[1].ArticleNumber, Is.EqualTo("33")); Assert.That(request.CreateOrderInformation.OrderRows[1].Description, Is.EqualTo("shipping: Specification")); Assert.That(request.CreateOrderInformation.OrderRows[1].PricePerUnit, Is.EqualTo(50)); Assert.That(request.CreateOrderInformation.OrderRows[1].NumberOfUnits, Is.EqualTo(1)); Assert.That(request.CreateOrderInformation.OrderRows[1].Unit, Is.EqualTo("st")); Assert.That(request.CreateOrderInformation.OrderRows[1].VatPercent, Is.EqualTo(25)); Assert.That(request.CreateOrderInformation.OrderRows[1].DiscountPercent, Is.EqualTo(0)); Assert.That(request.CreateOrderInformation.OrderRows[2].ArticleNumber, Is.EqualTo("")); Assert.That(request.CreateOrderInformation.OrderRows[2].Description, Is.EqualTo("Svea fee: Fee for invoice")); Assert.That(request.CreateOrderInformation.OrderRows[2].PricePerUnit, Is.EqualTo(50)); Assert.That(request.CreateOrderInformation.OrderRows[2].NumberOfUnits, Is.EqualTo(1)); Assert.That(request.CreateOrderInformation.OrderRows[2].Unit, Is.EqualTo("st")); Assert.That(request.CreateOrderInformation.OrderRows[2].VatPercent, Is.EqualTo(25)); Assert.That(request.CreateOrderInformation.OrderRows[2].DiscountPercent, Is.EqualTo(0)); }
public void TestPayPagePaymentIncludePaymentMethod() { var paymentMethods = new List<PaymentMethod> {PaymentMethod.KORTCERT, PaymentMethod.SKRILL}; PaymentForm form = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow()) .AddDiscount(TestingTool.CreateRelativeDiscount()) .AddCustomerDetails( Item.IndividualCustomer().SetNationalIdNumber(TestingTool.DefaultTestIndividualNationalIdNumber)) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber) .SetOrderDate(TestingTool.DefaultTestDate) .SetCurrency(TestingTool.DefaultTestCurrency) .UsePayPage() .IncludePaymentMethod(paymentMethods) .SetReturnUrl("http://myurl.se") .GetPaymentForm(); string xml = form.GetXmlMessage(); string paymentMethod = xml.Substring( xml.IndexOf("SVEAINVOICESE", System.StringComparison.InvariantCulture), "SVEAINVOICESE".Length); //check to see if the first value is one of the excluded ones Assert.That(paymentMethod, Is.EqualTo(InvoiceType.INVOICESE.Value)); }
public void TestSetAuthorization() { PaymentForm form = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow()) .AddFee(TestingTool.CreateExVatBasedShippingFee()) .AddFee(TestingTool.CreateExVatBasedInvoiceFee()) .AddDiscount(TestingTool.CreateRelativeDiscount()) .AddCustomerDetails(TestingTool.CreateMiniCompanyCustomer()) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetOrderDate(TestingTool.DefaultTestDate) .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber) .SetCurrency(TestingTool.DefaultTestCurrency) .UsePayPageCardOnly() .SetReturnUrl("http://myurl.se") .GetPaymentForm(); const string expectedMerchantId = "1130"; const string expectedSecretWord = "8a9cece566e808da63c6f07ff415ff9e127909d000d259aba24daa2fed6d9e3f8b0b62e8ad1fa91c7d7cd6fc3352deaae66cdb533123edf127ad7d1f4c77e7a3"; Assert.That(form.GetMerchantId(), Is.EqualTo(expectedMerchantId)); Assert.That(form.GetSecretWord(), Is.EqualTo(expectedSecretWord)); }
public void TestFormatShippingFeeRowsZero() { CreateOrderEuResponse response = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow()) .AddFee(Item.ShippingFee() .SetShippingId("0") .SetName("Tess") .SetDescription("Tester") .SetAmountExVat(0) .SetVatPercent(0) .SetUnit("st")) .AddCustomerDetails(Item.IndividualCustomer() .SetNationalIdNumber(TestingTool.DefaultTestIndividualNationalIdNumber)) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetOrderDate(TestingTool.DefaultTestDate) .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber) .SetCurrency(TestingTool.DefaultTestCurrency) .SetCustomerReference(TestingTool.DefaultTestCustomerReferenceNumber) .UseInvoicePayment() .DoRequest(); Assert.That(response.ResultCode, Is.EqualTo(0)); Assert.That(response.Accepted, Is.True); }
public void TestDeliverInvoice() { DeliverOrderEuRequest request = null; Assert.DoesNotThrow(() => { request = _order.AddOrderRow(TestingTool.CreateExVatBasedOrderRow()) .AddFee(TestingTool.CreateExVatBasedShippingFee()) .AddDiscount(Item.FixedDiscount() .SetAmountIncVat(10)) .SetInvoiceDistributionType(DistributionType.POST) .SetOrderId(54086L) .SetNumberOfCreditDays(1) .SetCreditInvoice(117L) .SetCountryCode(TestingTool.DefaultTestCountryCode) .DeliverInvoiceOrder() .PrepareRequest(); } ); //First order row is a product var invoiceDetails = request.DeliverOrderInformation.DeliverInvoiceDetails; var firstOrderRow = invoiceDetails.OrderRows[0]; // First row Assert.That(firstOrderRow.ArticleNumber, Is.EqualTo("1")); Assert.That(firstOrderRow.Description, Is.EqualTo("Prod: Specification")); Assert.That(firstOrderRow.PricePerUnit, Is.EqualTo(100.00M)); Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.OrderRows[0].NumberOfUnits, Is.EqualTo(2)); Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.OrderRows[0].Unit, Is.EqualTo("st")); Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.OrderRows[0].VatPercent, Is.EqualTo(25)); Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.OrderRows[0].DiscountPercent, Is.EqualTo(0)); //Second order row is shipment Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.OrderRows[1].ArticleNumber, Is.EqualTo("33")); Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.OrderRows[1].Description, Is.EqualTo("shipping: Specification")); Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.OrderRows[1].PricePerUnit, Is.EqualTo(50)); Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.OrderRows[1].NumberOfUnits, Is.EqualTo(1)); Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.OrderRows[1].Unit, Is.EqualTo("st")); Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.OrderRows[1].VatPercent, Is.EqualTo(25)); Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.OrderRows[1].DiscountPercent, Is.EqualTo(0)); //discount Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.OrderRows[2].PricePerUnit, Is.EqualTo(-8.0)); Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.NumberOfCreditDays, Is.EqualTo(1)); Assert.That(invoiceDetails.InvoiceDistributionType, Is.EqualTo(WebpayWS.InvoiceDistributionType.Post)); Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.IsCreditInvoice, Is.True); Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.InvoiceIdToCredit, Is.EqualTo(117L)); Assert.That(request.DeliverOrderInformation.SveaOrderId, Is.EqualTo(54086L)); Assert.That(request.DeliverOrderInformation.OrderType, Is.EqualTo(OrderType.Invoice)); }
private void CreateTestOrderRow() { _order.AddOrderRow(TestingTool.CreateExVatBasedOrderRow()); }