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