Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }