public void CreateWithSerializedPartDefaults() { var before = new PurchaseOrderItems(this.Session).Extent().ToArray(); var expected = new PurchaseOrderItemBuilder(this.Session).WithSerializedPartDefaults(this.serializedPartItem.Part, this.serializedPartItem.SerialisedItem).Build(); this.purchaseOrder.AddPurchaseOrderItem(expected); this.Session.Derive(); Assert.True(expected.ExistComment); Assert.True(expected.ExistInternalComment); Assert.True(expected.ExistInvoiceItemType); Assert.True(expected.ExistPart); Assert.True(expected.ExistSerialisedItem); Assert.True(expected.ExistAssignedUnitPrice); Assert.True(expected.ExistMessage); var expectedComment = expected.Comment; var expectedInternalComment = expected.InternalComment; var expectedInvoiceItemType = expected.InvoiceItemType; var expectedPart = expected.Part; var expectedSerialisedItem = expected.SerialisedItem; var expectedAssignedUnitPrice = expected.AssignedUnitPrice; var expectedMessage = expected.Message; this.purchaseOrderListPage.Table.DefaultAction(this.purchaseOrder); var purchaseOrderOverview = new PurchaseOrderOverviewComponent(this.purchaseOrderListPage.Driver); var purchaseOrderItemOverviewPanel = purchaseOrderOverview.PurchaseorderitemOverviewPanel.Click(); var purchaseOrderItemCreate = purchaseOrderItemOverviewPanel.CreatePurchaseOrderItem(); purchaseOrderItemCreate.InvoiceItemType.Select(expected.InvoiceItemType); purchaseOrderItemCreate.Comment.Set(expected.Comment); purchaseOrderItemCreate.InternalComment.Set(expected.InternalComment); purchaseOrderItemCreate.PurchaseOrderItemPart_1.Select(expected.Part.Name); purchaseOrderItemCreate.PurchaseOrderItemSerialisedItem_1.Select(expected.SerialisedItem); purchaseOrderItemCreate.AssignedUnitPrice.Set(expected.AssignedUnitPrice.ToString()); purchaseOrderItemCreate.Message.Set(expected.Message); this.Session.Rollback(); purchaseOrderItemCreate.SAVE.Click(); this.Driver.WaitForAngular(); this.Session.Rollback(); var after = new PurchaseOrderItems(this.Session).Extent().ToArray(); Assert.Equal(after.Length, before.Length + 1); var actual = after.Except(before).First(); Assert.Equal(expectedComment, actual.Comment); Assert.Equal(expectedInternalComment, actual.InternalComment); Assert.Equal(expectedInvoiceItemType, actual.InvoiceItemType); Assert.Equal(expectedPart, actual.Part); Assert.Equal(expectedSerialisedItem, actual.SerialisedItem); Assert.Equal(expectedAssignedUnitPrice, actual.AssignedUnitPrice); Assert.Equal(expectedMessage, actual.Message); }
public void EditWithNonSerializedPartDefaults() { var purchaseOrder = new PurchaseOrders(this.Session).Extent().FirstOrDefault(); var before = new PurchaseOrderItems(this.Session).Extent().ToArray(); var disposablePurchaseOrder = this.internalOrganisation.CreatePurchaseOrderWithNonSerializedItem(this.Session.Faker()); var expected = disposablePurchaseOrder.PurchaseOrderItems.First(v => v.InvoiceItemType.IsPartItem); var purchaseOrderItem = purchaseOrder.PurchaseOrderItems.First(v => v.InvoiceItemType.IsPartItem); var id = purchaseOrderItem.Id; this.Session.Derive(); var expectedDescription = expected.Description; var expectedComment = expected.Comment; var expectedInternalComment = expected.InternalComment; var expectedInvoiceItemType = expected.InvoiceItemType; var expectedPart = expected.Part; var expectedQuantityOrdered = expected.QuantityOrdered; var expectedAssignedUnitPrice = expected.AssignedUnitPrice; var expectedMessage = expected.Message; this.purchaseOrderListPage.Table.DefaultAction(purchaseOrder); var purchaseOrderOverview = new PurchaseOrderOverviewComponent(this.purchaseOrderListPage.Driver); var purchaseOrderItemOverviewPanel = purchaseOrderOverview.PurchaseorderitemOverviewPanel.Click(); purchaseOrderItemOverviewPanel.Table.DefaultAction(purchaseOrderItem); var purchaseOrderItemEdit = new PurchaseOrderItemEditComponent(this.Driver); purchaseOrderItemEdit.OrderItemDescription_1.Set(expected.Description); purchaseOrderItemEdit.Comment.Set(expected.Comment); purchaseOrderItemEdit.InternalComment.Set(expected.InternalComment); purchaseOrderItemEdit.QuantityOrdered.Set(expected.QuantityOrdered.ToString()); purchaseOrderItemEdit.AssignedUnitPrice.Set(expected.AssignedUnitPrice.ToString()); purchaseOrderItemEdit.Message.Set(expected.Message); this.Session.Rollback(); purchaseOrderItemEdit.SAVE.Click(); this.Driver.WaitForAngular(); this.Session.Rollback(); var after = new PurchaseOrderItems(this.Session).Extent().ToArray(); var actual = (PurchaseOrderItem)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(expectedQuantityOrdered, actual.QuantityOrdered); Assert.Equal(expectedAssignedUnitPrice, actual.AssignedUnitPrice); Assert.Equal(expectedMessage, actual.Message); }
public void EditWithDefaults() { var before = new PurchaseOrders(this.Session).Extent().ToArray(); var expected = new PurchaseOrderBuilder(this.Session).WithDefaults(this.internalOrganisation).Build(); Assert.True(expected.ExistTakenViaSupplier); Assert.True(expected.ExistTakenViaContactPerson); Assert.True(expected.ExistBillToContactPerson); Assert.True(expected.ExistShipToContactPerson); Assert.True(expected.ExistStoredInFacility); Assert.True(expected.ExistCustomerReference); Assert.True(expected.ExistDescription); Assert.True(expected.ExistComment); Assert.True(expected.ExistInternalComment); this.Session.Derive(); var expectedTakenViaSupplier = expected.TakenViaSupplier; var expectedTakenViaContactMechanism = expected.DerivedTakenViaContactMechanism; var expectedTakenViaContactPerson = expected.TakenViaContactPerson; var expectedBillToContactMechanism = expected.DerivedBillToContactMechanism; var expectedBillToContactPerson = expected.BillToContactPerson; var expectedShipToAddress = expected.DerivedShipToAddress; var expectedShipToContactPerson = expected.ShipToContactPerson; var expectedStoredInFacility = expected.StoredInFacility; var expectedCustomerReference = expected.CustomerReference; var expectedDescription = expected.Description; var expectedComment = expected.Comment; var expectedInternalComment = expected.InternalComment; var purchaseOrder = before.First(); var id = purchaseOrder.Id; this.purchaseOrderListPage.Table.DefaultAction(purchaseOrder); var purchaseOrderOverview = new PurchaseOrderOverviewComponent(this.purchaseOrderListPage.Driver); var purchaseOrderOverviewDetail = purchaseOrderOverview.PurchaseorderOverviewDetail.Click(); purchaseOrderOverviewDetail.TakenViaSupplier.Select(expected.TakenViaSupplier.DisplayName()); purchaseOrderOverviewDetail.DerivedTakenViaContactMechanism.Select(expected.DerivedTakenViaContactMechanism); purchaseOrderOverviewDetail.TakenViaContactPerson.Select(expected.TakenViaContactPerson); purchaseOrderOverviewDetail.DerivedBillToContactMechanism.Select(expected.DerivedBillToContactMechanism); purchaseOrderOverviewDetail.BillToContactPerson.Select(expected.BillToContactPerson); purchaseOrderOverviewDetail.DerivedShipToAddress.Select(expected.DerivedShipToAddress); purchaseOrderOverviewDetail.ShipToContactPerson.Select(expected.ShipToContactPerson); purchaseOrderOverviewDetail.StoredInFacility.Select(expected.StoredInFacility); purchaseOrderOverviewDetail.CustomerReference.Set(expected.CustomerReference); purchaseOrderOverviewDetail.Description.Set(expected.Description); purchaseOrderOverviewDetail.Comment.Set(expected.Comment); purchaseOrderOverviewDetail.InternalComment.Set(expected.InternalComment); this.Session.Rollback(); purchaseOrderOverviewDetail.SAVE.Click(); this.Driver.WaitForAngular(); this.Session.Rollback(); var after = new PurchaseOrders(this.Session).Extent().ToArray(); purchaseOrder = (PurchaseOrder)this.Session.Instantiate(id); Assert.Equal(after.Length, before.Length); Assert.Equal(expectedTakenViaSupplier, purchaseOrder.TakenViaSupplier); Assert.Equal(expectedTakenViaContactMechanism, purchaseOrder.DerivedTakenViaContactMechanism); Assert.Equal(expectedTakenViaContactPerson, purchaseOrder.TakenViaContactPerson); Assert.Equal(expectedBillToContactMechanism, purchaseOrder.DerivedBillToContactMechanism); Assert.Equal(expectedBillToContactPerson, purchaseOrder.BillToContactPerson); Assert.Equal(expectedShipToAddress, purchaseOrder.DerivedShipToAddress); Assert.Equal(expectedShipToContactPerson, purchaseOrder.ShipToContactPerson); Assert.Equal(expectedStoredInFacility.Name, purchaseOrder.StoredInFacility.Name); Assert.Equal(expectedCustomerReference, purchaseOrder.CustomerReference); Assert.Equal(expectedDescription, purchaseOrder.Description); Assert.Equal(expectedComment, purchaseOrder.Comment); Assert.Equal(expectedInternalComment, purchaseOrder.InternalComment); }