public void EditWithExternalPerson() { var before = new SalesOrders(this.Session).Extent().ToArray(); var expected = new SalesOrderBuilder(this.Session).WithPersonExternalDefaults(this.internalOrganisation).Build(); this.Session.Derive(); var expectedBillToCustomer = expected.BillToCustomer?.DisplayName(); var expectedBillToContactMechanism = expected.BillToContactMechanism; var expectedShipToCustomer = expected.ShipToCustomer?.DisplayName(); var expectedShipToAddressDisplayName = expected.ShipToAddress.DisplayName(); var expectedShipFromAddressDisplayName = expected.ShipFromAddress?.DisplayName(); var expectedCustomerReference = expected.CustomerReference; var expectedDescription = expected.Description; var expectedInternalComment = expected.InternalComment; var salesOrder = before.First(); var id = salesOrder.Id; this.salesOrderListPage.Table.DefaultAction(salesOrder); var salesOrderOverview = new SalesOrderOverviewComponent(this.salesOrderListPage.Driver); var salesOrderOverviewDetail = salesOrderOverview.SalesorderOverviewDetail.Click(); salesOrderOverviewDetail.BillToCustomer.Select(expected.BillToCustomer?.DisplayName()); this.Driver.WaitForAngular(); salesOrderOverviewDetail.BillToContactMechanism.Select(expected.BillToContactMechanism); salesOrderOverviewDetail.ShipToCustomer.Select(expected.ShipToCustomer?.DisplayName()); this.Driver.WaitForAngular(); salesOrderOverviewDetail.ShipToAddress.Select(expected.ShipToAddress); salesOrderOverviewDetail.ShipFromAddress.Select(expected.ShipFromAddress); salesOrderOverviewDetail.CustomerReference.Set(expected.CustomerReference); salesOrderOverviewDetail.Description.Set(expected.Description); salesOrderOverviewDetail.InternalComment.Set(expected.InternalComment); this.Session.Rollback(); salesOrderOverviewDetail.SAVE.Click(); this.Driver.WaitForAngular(); this.Session.Rollback(); var after = new SalesOrders(this.Session).Extent().ToArray(); salesOrder = (SalesOrder)this.Session.Instantiate(id); Assert.Equal(after.Length, before.Length); Assert.Equal(expectedBillToCustomer, salesOrder.BillToCustomer?.DisplayName()); Assert.Equal(expectedBillToContactMechanism, salesOrder.BillToContactMechanism); Assert.Equal(expectedShipToCustomer, salesOrder.ShipToCustomer?.DisplayName()); Assert.Equal(expectedShipToAddressDisplayName, salesOrder.ShipToAddress.DisplayName()); Assert.Equal(expectedShipFromAddressDisplayName, salesOrder.ShipFromAddress?.DisplayName()); Assert.Equal(expectedCustomerReference, salesOrder.CustomerReference); Assert.Equal(expectedDescription, salesOrder.Description); Assert.Equal(expectedInternalComment, salesOrder.InternalComment); }
public void CreateWithProductItemDefaults() { var salesOrder = new SalesOrders(this.Session).Extent().FirstOrDefault(); var before = new SalesOrderItems(this.Session).Extent().ToArray(); var expected = new SalesOrderItemBuilder(this.Session).WithSerialisedProductDefaults().Build(); salesOrder.AddSalesOrderItem(expected); this.Session.Derive(); Assert.True(expected.ExistDescription); Assert.True(expected.ExistComment); Assert.True(expected.ExistInternalComment); Assert.True(expected.ExistInvoiceItemType); Assert.True(expected.ExistProduct); Assert.True(expected.ExistSerialisedItem); Assert.True(expected.ExistQuantityOrdered); Assert.True(expected.ExistAssignedUnitPrice); var expectedDescription = expected.Description; var expectedComment = expected.Comment; var expectedInternalComment = expected.InternalComment; var expectedInvoiceItemType = expected.InvoiceItemType; var expectedProduct = expected.Product; var expectedSerialisedItem = expected.SerialisedItem; var expectedQuantityOrdered = expected.QuantityOrdered; var expectedAssignedUnitPrice = expected.AssignedUnitPrice; this.salesOrderListPage.Table.DefaultAction(salesOrder); var salesOrderOverview = new SalesOrderOverviewComponent(this.salesOrderListPage.Driver); var salesOrderItemOverviewPanel = salesOrderOverview.SalesorderitemOverviewPanel.Click(); var salesOrderItemCreate = salesOrderItemOverviewPanel .CreateSalesOrderItem() .BuildForProductItemDefaults(expected); this.Session.Rollback(); salesOrderItemCreate.SAVE.Click(); this.Driver.WaitForAngular(); this.Session.Rollback(); var after = new SalesOrderItems(this.Session).Extent().ToArray(); Assert.Equal(after.Length, before.Length + 1); var actual = after.Except(before).First(); Assert.Equal(expectedDescription, actual.Description); Assert.Equal(expectedComment, actual.Comment); Assert.Equal(expectedInternalComment, actual.InternalComment); Assert.Equal(expectedInvoiceItemType, actual.InvoiceItemType); Assert.Equal(expectedProduct, actual.Product); Assert.Equal(expectedSerialisedItem, actual.SerialisedItem); Assert.Equal(expectedQuantityOrdered, actual.QuantityOrdered); Assert.Equal(expectedAssignedUnitPrice, actual.AssignedUnitPrice); }
public void EditWithSerialisedProductItemDefaults() { var salesOrder = new SalesOrders(this.Session).Extent().FirstOrDefault(); var before = new SalesOrderItems(this.Session).Extent().ToArray(); var disposableSalesOrder = new SalesOrderBuilder(this.Session).WithOrganisationInternalDefaults(this.internalOrganisation).Build(); var expected = disposableSalesOrder.SalesOrderItems.First(v => v.InvoiceItemType.IsProductItem); var salesOrderItem = salesOrder.SalesOrderItems.First(v => v.InvoiceItemType.IsProductItem); var id = salesOrderItem.Id; this.Session.Derive(); var expectedDescription = expected.Description; var expectedComment = expected.Comment; var expectedInternalComment = expected.InternalComment; var expectedInvoiceItemType = expected.InvoiceItemType; var expectedProduct = expected.Product; var expectedSerialisedItem = expected.SerialisedItem; var expectedQuantityOrdered = expected.QuantityOrdered; var expectedAssignedUnitPrice = expected.AssignedUnitPrice; this.salesOrderListPage.Table.DefaultAction(salesOrder); var salesOrderOverview = new SalesOrderOverviewComponent(this.salesOrderListPage.Driver); var salesOrderItemOverviewPanel = salesOrderOverview.SalesorderitemOverviewPanel.Click(); salesOrderItemOverviewPanel.Table.DefaultAction(salesOrderItem); var salesOrderItemEdit = new SalesOrderItemEditComponent(this.Driver); salesOrderItemEdit.Description.Set(expected.Description); salesOrderItemEdit.Comment.Set(expected.Comment); salesOrderItemEdit.InternalComment.Set(expected.InternalComment); salesOrderItemEdit.PriceableAssignedUnitPrice_2.Set(expected.AssignedUnitPrice.ToString()); this.Session.Rollback(); salesOrderItemEdit.SAVE.Click(); this.Driver.WaitForAngular(); this.Session.Rollback(); var after = new SalesOrderItems(this.Session).Extent().ToArray(); var actual = (SalesOrderItem)this.Session.Instantiate(id); Assert.Equal(after.Length, before.Length); Assert.Equal(expectedDescription, actual.Description); Assert.Equal(expectedComment, actual.Comment); Assert.Equal(expectedInternalComment, actual.InternalComment); Assert.Equal(expectedInvoiceItemType, actual.InvoiceItemType); Assert.Equal(expectedAssignedUnitPrice, actual.AssignedUnitPrice); }
public void EditForSalesOrder() { this.salesOrderListPage = this.Sidenav.NavigateToSalesOrders(); var salesOrder = new SalesOrders(this.Session).Extent().First; salesOrder.AddOrderAdjustment(new SurchargeAdjustmentBuilder(this.Session).WithAmountDefaults().Build()); this.Session.Derive(); this.Session.Commit(); var before = new OrderAdjustments(this.Session).Extent().ToArray(); var expected = new SurchargeAdjustmentBuilder(this.Session).WithAmountDefaults().Build(); var surchargeAdjustment = salesOrder.OrderAdjustments.First(); var id = surchargeAdjustment.Id; this.Session.Derive(); var expectedAmount = expected.Amount; var expectedDescription = expected.Description; this.salesOrderListPage.Table.DefaultAction(salesOrder); var salesOrderOverview = new SalesOrderOverviewComponent(this.salesOrderListPage.Driver); var adjustmentOverviewPanel = salesOrderOverview.OrderadjustmentOverviewPanel.Click(); adjustmentOverviewPanel.Table.DefaultAction(surchargeAdjustment); var adjustmentEdit = new OrderAdjustmentEditComponent(this.Driver); adjustmentEdit.Amount.Set(expected.Amount.ToString()); adjustmentEdit.Description.Set(expected.Description); this.Session.Rollback(); adjustmentEdit.SAVE.Click(); this.Driver.WaitForAngular(); this.Session.Rollback(); var after = new OrderAdjustments(this.Session).Extent().ToArray(); var actual = (SurchargeAdjustment)this.Session.Instantiate(id); Assert.Equal(after.Length, before.Length); Assert.Equal(expectedAmount, actual.Amount); Assert.Equal(expectedDescription, actual.Description); }
public void CreatePercentageForSalesOrder() { this.salesOrderListPage = this.Sidenav.NavigateToSalesOrders(); var salesOrder = new SalesOrders(this.Session).Extent().First; var before = new MiscellaneousCharges(this.Session).Extent().ToArray(); var expected = new MiscellaneousChargeBuilder(this.Session).WithPercentageDefaults().Build(); salesOrder.AddOrderAdjustment(expected); this.Session.Derive(); Assert.True(expected.ExistPercentage); Assert.True(expected.ExistDescription); var expectedPercentage = expected.Percentage; var expectedDescription = expected.Description; this.salesOrderListPage.Table.DefaultAction(salesOrder); var miscellaneousChargeCreate = new SalesOrderOverviewComponent(this.salesOrderListPage.Driver).OrderadjustmentOverviewPanel.Click().CreateMiscellaneousCharge(); miscellaneousChargeCreate .Percentage.Set(expectedPercentage.ToString()) .Description.Set(expectedDescription); this.Session.Rollback(); miscellaneousChargeCreate.SAVE.Click(); this.Driver.WaitForAngular(); this.Session.Rollback(); var after = new MiscellaneousCharges(this.Session).Extent().ToArray(); Assert.Equal(after.Length, before.Length + 1); var actual = after.Except(before).First(); Assert.Equal(expectedPercentage, actual.Percentage); Assert.Equal(expectedDescription, actual.Description); }
public void CreateAmountForSalesOrder() { this.salesOrderListPage = this.Sidenav.NavigateToSalesOrders(); var salesOrder = new SalesOrders(this.Session).Extent().First; var before = new SurchargeAdjustments(this.Session).Extent().ToArray(); var expected = new SurchargeAdjustmentBuilder(this.Session).WithAmountDefaults().Build(); salesOrder.AddOrderAdjustment(expected); this.Session.Derive(); Assert.True(expected.ExistAmount); Assert.True(expected.ExistDescription); var expectedAmount = expected.Amount; var expectedDescription = expected.Description; this.salesOrderListPage.Table.DefaultAction(salesOrder); var surchargeAdjustmentCreate = new SalesOrderOverviewComponent(this.salesOrderListPage.Driver).OrderadjustmentOverviewPanel.Click().CreateSurchargeAdjustment(); surchargeAdjustmentCreate .Amount.Set(expectedAmount.ToString()) .Description.Set(expectedDescription); this.Session.Rollback(); surchargeAdjustmentCreate.SAVE.Click(); this.Driver.WaitForAngular(); this.Session.Rollback(); var after = new SurchargeAdjustments(this.Session).Extent().ToArray(); Assert.Equal(after.Length, before.Length + 1); var actual = after.Except(before).First(); Assert.Equal(expectedAmount, actual.Amount); Assert.Equal(expectedDescription, actual.Description); }