public void CreateCustomerShipmentItemForNonSerialisedUnifiedGood() { var before = customerShipment.ShipmentItems.ToArray(); var goods = new UnifiedGoods(this.Session).Extent(); goods.Filter.AddEquals(M.UnifiedGood.InventoryItemKind.RoleType, new InventoryItemKinds(this.Session).NonSerialised); var nonSerializedGood = goods.First; this.shipmentListPage.Table.DefaultAction(customerShipment); var shipmentOverview = new CustomerShipmentOverviewComponent(this.shipmentListPage.Driver); var shipmentItemOverview = shipmentOverview.ShipmentitemOverviewPanel.Click(); var shipmentItemCreate = shipmentItemOverview.CreateShipmentItem(); shipmentItemCreate .Good.Select(nonSerializedGood.Name) .Quantity.Set("5") .SAVE.Click(); this.Driver.WaitForAngular(); this.Session.Rollback(); var after = customerShipment.ShipmentItems.ToArray(); Assert.Equal(after.Length, before.Length + 1); var actual = after.Except(before).First(); Assert.Equal(nonSerializedGood.Name, actual.Good.Name); Assert.Equal(5, actual.Quantity); }
public void CreateCustomerShipmentItemForSerialisedUnifiedGood() { var before = customerShipment.ShipmentItems.ToArray(); var goods = new UnifiedGoods(this.Session).Extent(); goods.Filter.AddEquals(M.UnifiedGood.InventoryItemKind.RoleType, new InventoryItemKinds(this.Session).Serialised); var serializedGood = goods.First; var serialisedItem = new SerialisedItemBuilder(this.Session).WithForSaleDefaults(this.internalOrganisation).Build(); serializedGood.AddSerialisedItem(serialisedItem); this.Session.Derive(); this.Session.Commit(); this.shipmentListPage.Table.DefaultAction(customerShipment); var shipmentOverview = new CustomerShipmentOverviewComponent(this.shipmentListPage.Driver); var shipmentItemOverview = shipmentOverview.ShipmentitemOverviewPanel.Click(); var shipmentItemCreate = shipmentItemOverview.CreateShipmentItem(); shipmentItemCreate .Good.Select(serializedGood.Name) .ShipmentItemSerialisedItem_1.Select(serialisedItem) .NextSerialisedItemAvailability.Select(new SerialisedItemAvailabilities(this.Session).Sold) .SAVE.Click(); this.Driver.WaitForAngular(); this.Session.Rollback(); var after = customerShipment.ShipmentItems.ToArray(); Assert.Equal(after.Length, before.Length + 1); var actual = after.Except(before).First(); Assert.Equal(serializedGood.Name, actual.Good.Name); Assert.Equal(serialisedItem.Name, actual.SerialisedItem.Name); Assert.Equal(1, actual.Quantity); }
public void Edit() { var before = new CustomerShipments(this.Session).Extent().ToArray(); var expected = new CustomerShipmentBuilder(this.Session).WithDefaults(this.internalOrganisation).Build(); this.Session.Derive(); var expectedShipToPartyPartyName = expected.ShipToParty?.DisplayName(); var expectedShipToAddressDisplayName = expected.ShipToAddress?.DisplayName(); var expectedShipToContactPersonPartyName = expected.ShipToContactPerson?.DisplayName(); var expectedShipFromAddressDisplayName = expected.ShipFromAddress?.DisplayName(); var expectedShipFromFacilityName = expected.ShipFromFacility.Name; var expectedShipmentMethodName = expected.ShipmentMethod.Name; var expectedCarrierName = expected.Carrier.Name; var expectedEstimatedShipDate = expected.EstimatedShipDate.Value.Date; var expectedEstimatedArrivalDate = expected.EstimatedArrivalDate.Value.Date; var expectedHandlingInstruction = expected.HandlingInstruction; var expectedComment = expected.Comment; var shipment = before.First(v => ((Organisation)v.ShipFromParty).IsInternalOrganisation.Equals(true)); var id = shipment.Id; this.shipmentListPage.Table.DefaultAction(shipment); var shipmentOverview = new CustomerShipmentOverviewComponent(this.shipmentListPage.Driver); var shipmentOverviewDetail = shipmentOverview.CustomershipmentOverviewDetail.Click(); shipmentOverviewDetail .ShipToParty.Select(expected.ShipToParty?.DisplayName()); this.Driver.WaitForAngular(); shipmentOverviewDetail .ShipToAddress.Select(expected.ShipToAddress) .ShipFromAddress.Select(expected.ShipFromParty?.ShippingAddress) .ShipmentMethod.Select(expected.ShipmentMethod) .ShipFromFacility.Select(((Organisation)expected.ShipFromParty)?.FacilitiesWhereOwner?.First) .Carrier.Select(expected.Carrier) .EstimatedShipDate.Set(expected.EstimatedShipDate.Value.Date) .EstimatedArrivalDate.Set(expected.EstimatedArrivalDate.Value.Date) .HandlingInstruction.Set(expected.HandlingInstruction) .Comment.Set(expected.Comment); if (expected.ExistShipToContactPerson) { shipmentOverviewDetail.ShipToContactPerson.Select(expected.ShipToContactPerson); } this.Session.Rollback(); shipmentOverviewDetail.SAVE.Click(); this.Driver.WaitForAngular(); this.Session.Rollback(); var after = new CustomerShipments(this.Session).Extent().ToArray(); shipment = (CustomerShipment) this.Session.Instantiate(id); Assert.Equal(after.Length, before.Length); Assert.Equal(expectedShipToPartyPartyName, shipment.ShipToParty?.DisplayName()); Assert.Equal(expectedShipToAddressDisplayName, shipment.ShipToAddress?.DisplayName()); Assert.Equal(expectedShipToContactPersonPartyName, shipment.ShipToContactPerson?.DisplayName()); Assert.Equal(expectedShipFromAddressDisplayName, shipment.ShipFromAddress?.DisplayName()); Assert.Equal(expectedShipFromFacilityName, shipment.ShipFromFacility.Name); Assert.Equal(expectedShipmentMethodName, shipment.ShipmentMethod.Name); Assert.Equal(expectedCarrierName, shipment.Carrier.Name); Assert.Equal(expectedEstimatedShipDate, shipment.EstimatedShipDate); Assert.Equal(expectedEstimatedArrivalDate, shipment.EstimatedArrivalDate); Assert.Equal(expectedHandlingInstruction, shipment.HandlingInstruction); Assert.Equal(expectedComment, shipment.Comment); }