public void TestFailOnIncorrectFormatPeppolIdFifthCharacter() { const string expectedMessage = "NOT VALID - The fifth character of PeppolId must be \":\""; var exception = Assert.Throws <SveaWebPayValidationException>( () => WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow("1")) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow("2")) .AddCustomerDetails(Item.IndividualCustomer() .SetNationalIdNumber(TestingTool.DefaultTestCompanyNationalIdNumber) .SetIpAddress("123.123.123")) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetOrderDate(TestingTool.DefaultTestDate) .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber) .SetCurrency(TestingTool.DefaultTestCurrency) .SetPeppolId("12345678") .UseInvoicePayment() .PrepareRequest()); Assert.That(exception.Message, Is.EqualTo(expectedMessage)); }
public void TestInvoiceRequestObjectWithRelativeDiscountOnDifferentProductVat() { CreateOrderEuRequest request = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(Item.OrderRow() .SetArticleNumber("1") .SetQuantity(1) .SetAmountExVat(240.00M) .SetDescription("CD") .SetVatPercent(25)) .AddOrderRow(Item.OrderRow() .SetArticleNumber("1") .SetQuantity(1) .SetAmountExVat(188.68M) .SetDescription("Bok") .SetVatPercent(6)) .AddDiscount(Item.RelativeDiscount() .SetDiscountId("1") .SetDiscountPercent(20) .SetDescription("RelativeDiscount")) .AddCustomerDetails(TestingTool.CreateIndividualCustomer()) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetOrderDate(TestingTool.DefaultTestDate) .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber) .SetCurrency(TestingTool.DefaultTestCurrency) .UseInvoicePayment() .PrepareRequest(); Assert.That(request.CreateOrderInformation.OrderRows[2].ArticleNumber, Is.EqualTo("1")); Assert.That(request.CreateOrderInformation.OrderRows[2].Description, Is.EqualTo("RelativeDiscount (25%)")); Assert.That(request.CreateOrderInformation.OrderRows[3].Description, Is.EqualTo("RelativeDiscount (6%)")); var combinedPrice = request.CreateOrderInformation.OrderRows[2].PricePerUnit + request.CreateOrderInformation.OrderRows[3].PricePerUnit; Assert.That(combinedPrice, Is.EqualTo(-85.74)); Assert.That(request.CreateOrderInformation.OrderRows[2].NumberOfUnits, Is.EqualTo(1)); Assert.That(request.CreateOrderInformation.OrderRows[2].VatPercent, Is.EqualTo(25)); Assert.That(request.CreateOrderInformation.OrderRows[3].VatPercent, Is.EqualTo(6)); }
string BuildDirectBankPayment() { 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) .UsePayPageDirectBankOnly() .SetReturnUrl("http://myurl.se") .GetPaymentForm(); string base64Payment = form.GetXmlMessageBase64(); string html = Base64Util.DecodeBase64String(base64Payment); return(html); //Assert.That(html.Contains("<amount>18750</amount>"), Is.True); }
public void TestCreatePaymentForm() { CreateOrderBuilder order = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber) .SetCurrency(TestingTool.DefaultTestCurrency) .AddOrderRow(Item.OrderRow() .SetAmountExVat(4) .SetVatPercent(25) .SetQuantity(1)) .AddCustomerDetails(TestingTool.CreateCompanyCustomer()); var payment = new FakeHostedPayment(order); payment.SetReturnUrl("myurl"); PaymentForm form = payment.GetPaymentForm(); var formHtmlFields = form.GetFormHtmlFields(); Assert.That(formHtmlFields["form_end_tag"], Is.EqualTo("</form>")); }
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 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 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 TestPayPagePaymentWithSetPaymentMethodSveaCardPay() { 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) .SetCustomerReference(TestingTool.DefaultTestCustomerReferenceNumber) .UsePaymentMethod(PaymentMethod.SVEACARDPAY) .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>SVEACARDPAY</paymentmethod><customerrefno>33</customerrefno>" + "<currency>SEK</currency><amount>12500</amount><vat>2500</vat><lang>en</lang>" + "<returnurl>http://myurl.se</returnurl><iscompany>false</iscompany>" + "<customer><ssn>194605092222</ssn><country>SE</country></customer>" + "<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>SVEACARDPAY</paymentmethod>"), Is.True); }
public void TestSetFormCard() { string base64Payment = Base64Util.EncodeBase64String("0"); string mac = HashUtil.CreateHash(base64Payment + SecretWord); PaymentForm form = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetCurrency(TestingTool.DefaultTestCurrency) .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber) .AddOrderRow(TestingTool.CreateMiniOrderRow()) .AddCustomerDetails(TestingTool.CreateCompanyCustomer()) .UsePayPageCardOnly() .SetReturnUrl("http://myurl.se") .GetPaymentForm(); form.SetMessageBase64(base64Payment) .SetMerchantId(MerchantId) .SetSecretWord(SecretWord) .SetForm(); string expected = "<form name=\"paymentForm\" id=\"paymentForm\" method=\"post\" action=\"" + form.GetPayPageUrl() + "\">" + "<input type=\"hidden\" name=\"merchantid\" value=\"" + MerchantId + "\" />" + "<input type=\"hidden\" name=\"message\" value=\"" + base64Payment + "\" />" + "<input type=\"hidden\" name=\"mac\" value=\"" + mac + "\" />" + "<noscript><p>Javascript är inaktiverat i er webbläsare, ni får dirigera om till paypage manuellt</p></noscript>" + "<input type=\"submit\" name=\"submit\" value=\"Betala\" />" + "</form>"; Assert.That(form.GetCompleteForm(), Is.EqualTo(expected)); }
public void TestInvoiceRequestUsingAmountIncVatWithAmountExVat() { CreateOrderEuRequest request = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(TestingTool.CreateIncAndExVatOrderRow()) .AddFee(TestingTool.CreateIncAndExVatShippingFee()) .AddFee(TestingTool.CreateIncAndExVatInvoiceFee()) .AddCustomerDetails(Item.IndividualCustomer() .SetNationalIdNumber(TestingTool.DefaultTestIndividualNationalIdNumber)) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetOrderDate(TestingTool.DefaultTestDate) .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(125.00M)); 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(62.5M)); 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(62.5M)); 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 TestNlCompanyIdentity() { CreateOrderEuResponse response = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(TestingTool.CreateOrderRowNl()) .AddCustomerDetails(Item.CompanyCustomer() .SetCompanyName("Svea bakkerij 123") .SetVatNumber("NL123456789A12") .SetStreetAddress("broodstraat", "1") .SetZipCode("1111 CD") .SetLocality("BARENDRECHT")) .SetCountryCode(CountryCode.NL) .SetClientOrderNumber( TestingTool.DefaultTestClientOrderNumber) .SetOrderDate(TestingTool.DefaultTestDate) .SetCurrency(Currency.EUR) .UseInvoicePayment() .DoRequest(); Assert.That(response.ResultCode, Is.EqualTo(0)); Assert.That(response.CreateOrderResult.CustomerIdentity.CustomerType, Is.EqualTo(CustomerType.Company)); Assert.That(response.Accepted, Is.True); }
public void TestDeCompanyIdentity() { CreateOrderEuResponse response = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(TestingTool.CreateOrderRowDe()) .AddCustomerDetails(Item.CompanyCustomer() .SetNationalIdNumber("12345") .SetVatNumber("DE123456789") .SetStreetAddress( "Adalbertsteinweg", "1") .SetZipCode("52070") .SetLocality("AACHEN")) .SetCountryCode(CountryCode.DE) .SetClientOrderNumber( TestingTool.DefaultTestClientOrderNumber) .SetOrderDate(TestingTool.DefaultTestDate) .SetCurrency(Currency.EUR) .UseInvoicePayment() .DoRequest(); Assert.That(response.ResultCode, Is.EqualTo(0)); Assert.That(response.CreateOrderResult.CustomerIdentity.CustomerType, Is.EqualTo(CustomerType.Company)); Assert.That(response.Accepted, Is.True); }
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); }
static void CreateInitialData() { //check if the database identified by a named connection string exists var existsByName = Database.Exists("Name=ProjectsContext"); //check if the database identified by a connection string exists var existsByConnectionString = Database.Exists(@"Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=Succinctly;MultipleActiveResultSets=true"); using (var ctx = new ProjectsContext()) { var created = ctx.Database.CreateIfNotExists(); if (ctx.Database.CompatibleWithModel(false) == true) { return; } new DropCreateDatabaseAlways <ProjectsContext>().InitializeDatabase(ctx); using (var tx = new TransactionScope()) { //venues var home = new Venue() { Name = "Home, Sweet Home", Location = DbGeography.FromText("POINT(40.2112 8.4292)") }; var somePlace = new Venue() { Name = "Some Place Else", Location = DbGeography.FromText("POINT(41 8)") }; /*ctx.Venues.Add(home); * ctx.Venues.Add(somePlace);*/ //customers var bigCustomer = new Customer() { Name = "Big Customer" }; bigCustomer.Contact.Email = "*****@*****.**"; bigCustomer.Contact.Phone = "00 1 555 111 333"; var smallCustomer = new Customer() { Name = "Small Customer" }; smallCustomer.Contact.Email = "*****@*****.**"; smallCustomer.Contact.Phone = "00 351 111 222 333"; ctx.Customers.Add(bigCustomer); ctx.Customers.Add(smallCustomer); var developer = new Resource() { Name = "Ricardo Peres" }; developer.Contact.Email = "*****@*****.**"; developer.Contact.Phone = "?"; var projectManager = new Resource() { Name = "Succinct Project Manager" }; projectManager.Contact.Email = "*****@*****.**"; var tester = new Resource() { Name = "Succinct Tester" }; tester.Contact.Email = "*****@*****.**"; ctx.Resources.Add(developer); ctx.Resources.Add(projectManager); ctx.Resources.Add(tester); //start technologies var aspNet = new Technology() { Name = "ASP.NET" }; var entityFramework = new Technology() { Name = "Entity Framework" }; var selenium = new Technology() { Name = "Selenium" }; aspNet.Resources.Add(developer); entityFramework.Resources.Add(developer); selenium.Resources.Add(tester); developer.Technologies.Add(aspNet); developer.Technologies.Add(entityFramework); tester.Technologies.Add(selenium); ctx.Technologies.Add(aspNet); ctx.Technologies.Add(entityFramework); ctx.Technologies.Add(selenium); //end technologies //start tools var developmentTool = new DevelopmentTool() { Name = "Visual Studio 2012", Language = "C#" }; var managementTool = new ManagementTool() { Name = "Project 2013", CompatibleWithProject = true }; var testingTool = new TestingTool() { Name = "Selenium", Automated = true }; ctx.Tools.Add(developmentTool); ctx.Tools.Add(managementTool); ctx.Tools.Add(testingTool); //end tools //start big project var bigProject = new Project() { Name = "Big Project", Start = DateTime.Today, Customer = bigCustomer }; var bigProjectDetail = new ProjectDetail() { Project = bigProject, Budget = 10000M, Critical = true }; bigProject.Detail = bigProjectDetail; ctx.SaveChanges(); var bigProjectDeveloperResource = new ProjectResource() { Project = bigProject, Resource = developer, Role = Role.Developer }; var bigProjectProjectManagerResource = new ProjectResource() { Project = bigProject, Resource = projectManager, Role = Role.ProjectManager }; var bigProjectTesterResource = new ProjectResource() { Project = bigProject, Resource = tester, Role = Role.Tester }; bigProject.ProjectResources.Add(bigProjectDeveloperResource); bigProject.ProjectResources.Add(bigProjectProjectManagerResource); bigProject.ProjectResources.Add(bigProjectTesterResource); developer.ProjectResources.Add(bigProjectDeveloperResource); projectManager.ProjectResources.Add(bigProjectProjectManagerResource); tester.ProjectResources.Add(bigProjectTesterResource); bigCustomer.Projects.Add(bigProject); //end big project //small project var smallProject = new Project() { Name = "Small Project", Start = DateTime.Today.AddDays(-7), End = DateTime.Today.AddDays(-1), Customer = smallCustomer }; var smallProjectDetail = new ProjectDetail() { Project = smallProject, Budget = 5000M, Critical = false }; var smallProjectDeveloperResource = new ProjectResource() { Project = smallProject, Resource = developer, Role = Role.Developer }; var smallProjectProjectManagerResource = new ProjectResource() { Project = smallProject, Resource = projectManager, Role = Role.ProjectManager }; var smallProjectTesterResource = new ProjectResource() { Project = smallProject, Resource = tester, Role = Role.Tester }; smallProject.Detail = smallProjectDetail; smallProject.ProjectResources.Add(smallProjectDeveloperResource); smallProject.ProjectResources.Add(smallProjectProjectManagerResource); smallProject.ProjectResources.Add(smallProjectTesterResource); developer.ProjectResources.Add(smallProjectDeveloperResource); projectManager.ProjectResources.Add(smallProjectProjectManagerResource); tester.ProjectResources.Add(smallProjectTesterResource); smallCustomer.Projects.Add(smallProject); //end small project ctx.SaveChanges(); tx.Complete(); } } }
private void CreateTestRelativeDiscountBuilder() { _order.AddDiscount(TestingTool.CreateRelativeDiscount()); }
private void CreateTestInvoiceFee() { _order.AddFee(TestingTool.CreateExVatBasedInvoiceFee()); }
private void CreateShippingFeeRow() { _order.AddFee(TestingTool.CreateExVatBasedShippingFee()); }
private void CreateTestOrderRow() { _order.AddOrderRow(TestingTool.CreateExVatBasedOrderRow()); }
private CreateOrderBuilder CreateCompanyDetails(CreateOrderBuilder orderBuilder) { return(orderBuilder.AddCustomerDetails(TestingTool.CreateMiniCompanyCustomer())); }
private static CreateOrderBuilder CreateTestCustomerIdentity(CreateOrderBuilder orderBuilder) { return(orderBuilder.AddCustomerDetails(TestingTool.CreateIndividualCustomer())); }
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)); }