示例#1
0
        public void TestFindDocumentWithClusteringKeyPart()
        {
            var documents            = CqlDocumentsForTests.GetCqlDocumentBindingMetaEntries(serializer);
            var firstPartnerPartyId  = documents[0].FirstPartnerPartyId;
            var secondPartnerPartyId = documents[0].SecondPartnerPartyId;

            using (var context = new CqlDbContext())
                context.InsertDocuments(documents);

            using var browser = new BrowserForTests();
            var showTableEntriesPage = browser.SwitchTo <BusinessObjectTablePage>("DocumentBindingsMeta");

            showTableEntriesPage.OpenFilter.Click();
            showTableEntriesPage.FilterModal.GetFilter("BindingType").EnumSelect.SelectValueByText("ByPriceList");
            showTableEntriesPage.FilterModal.GetFilter("FirstPartnerPartyId").Input.ClearAndInputText(firstPartnerPartyId);
            showTableEntriesPage.FilterModal.Apply.Click();

            showTableEntriesPage.FilterModal.GetFilter("SecondPartnerPartyId").Input.WaitIncorrect();
            showTableEntriesPage.FilterModal.GetFilter("DocumentNumber").Input.WaitIncorrect();
            showTableEntriesPage.FilterModal.GetFilter("DocumentDate").DateTimeInTicks.WaitIncorrect();
            showTableEntriesPage.FilterModal.GetFilter("DocumentTime").DateTimeInTicks.WaitIncorrect();
            showTableEntriesPage.FilterModal.GetFilter("FirstPartnerPartyId").Input.WaitCorrect();

            showTableEntriesPage.FilterModal.GetFilter("SecondPartnerPartyId").Input.ClearAndInputText(secondPartnerPartyId);
            showTableEntriesPage.FilterModal.GetFilter("DocumentNumber").Input.ClearAndInputText("0");
            showTableEntriesPage.FilterModal.GetFilter("DocumentDate").Date.ClearAndInputText("10.10.2000");
            showTableEntriesPage.FilterModal.GetFilter("DocumentTime").DateTimeInTicks.ClearAndInputText(new DateTime(2020, 10, 10, 13, 12, 11, DateTimeKind.Utc).Ticks.ToString());

            var documentType          = documents[0].DocumentType;
            var documentCirculationId = documents[0].DocumentCirculationId.ToString();

            showTableEntriesPage.FilterModal.GetFilter("DocumentType").Input.ClearAndInputText(documentType);
            showTableEntriesPage.FilterModal.GetFilter("DocumentCirculationId").Input.ClearAndInputText(documentCirculationId);

            showTableEntriesPage.FilterModal.Apply.Click();
            showTableEntriesPage.BusinessObjectItems.WaitCount(1);
            showTableEntriesPage.BusinessObjectItems[0].FindColumn("DocumentCirculationId").WaitText(documentCirculationId);

            showTableEntriesPage.OpenFilter.Click();
            showTableEntriesPage.FilterModal.GetFilter("DocumentType").Input.Clear();
            showTableEntriesPage.FilterModal.GetFilter("DocumentCirculationId").Input.Clear();
            showTableEntriesPage.FilterModal.Apply.Click();

            showTableEntriesPage.BusinessObjectItems.WaitCount(10);
            showTableEntriesPage.BusinessObjectItems.Wait(row => row.FindColumn("DocumentCirculationId").Text).That(Is.EquivalentTo(documents.Select(x => x.DocumentCirculationId.ToString())));

            showTableEntriesPage.OpenFilter.Click();
            showTableEntriesPage.FilterModal.GetFilter("DocumentType").Input.ClearAndInputText(documentType);
            showTableEntriesPage.FilterModal.Apply.Click();

            showTableEntriesPage.BusinessObjectItems.WaitCount(5);
            showTableEntriesPage.BusinessObjectItems.Wait(row => row.FindColumn("DocumentType").Text).That(Is.All.EqualTo("Invoic"));

            showTableEntriesPage.OpenFilter.Click();
            showTableEntriesPage.FilterModal.GetFilter("DocumentType").OperatorSelect.SelectValueByText(">");
            showTableEntriesPage.FilterModal.Apply.Click();

            showTableEntriesPage.BusinessObjectItems.WaitCount(5);
            showTableEntriesPage.BusinessObjectItems.Wait(row => row.FindColumn("DocumentType").Text).That(Is.All.EqualTo("Orders"));
        }
示例#2
0
        public void TestObjectKeysValidation()
        {
            var printingInfo   = CqlDocumentsForTests.GetCqlDocumentPrintingInfo();
            var printingInfoId = printingInfo.Id.ToString();

            using (var context = new CqlDbContext())
                context.InsertDocument(printingInfo);

            using var browser = new BrowserForTests();
            var showTableEntriesPage = browser.SwitchTo <BusinessObjectTablePage>("DocumentPrintingInfo");

            showTableEntriesPage.OpenFilter.Click();
            showTableEntriesPage.FilterModal.Apply.Click();
            var searchField = showTableEntriesPage.FilterModal.GetFilter("Id");

            searchField.InputValidation.ExpectIsOpenedWithMessage("Поле должно быть заполнено");
            searchField.Input.ClearAndInputText(Guid.NewGuid().ToString());
            showTableEntriesPage.FilterModal.Apply.Click();

            showTableEntriesPage.BusinessObjectItems.WaitAbsence();
            showTableEntriesPage.NothingFound.WaitPresence();

            showTableEntriesPage.OpenFilter.Click();
            searchField = showTableEntriesPage.FilterModal.GetFilter("Id");
            searchField.Input.ClearAndInputText(printingInfoId);
            showTableEntriesPage.FilterModal.Apply.Click();

            showTableEntriesPage.BusinessObjectItems.WaitCount(1);
            showTableEntriesPage.BusinessObjectItems[0].FindColumn("Id").WaitText(printingInfoId);
        }
示例#3
0
        public void TestFindDocumentWithDifferentColumnTypes()
        {
            var document  = CqlDocumentsForTests.GetCqlConnectorDeliveryContext(serializer);
            var document2 = CqlDocumentsForTests.GetCqlConnectorDeliveryContext(serializer);

            using (var context = new CqlDbContext())
                context.InsertDocuments(new[] { document, document2 });

            using var browser = new BrowserForTests();
            var showTableEntriesPage = browser.LoginAsSuperUser().SwitchTo <BusinessObjectTablePage>("CqlConnectorDeliveryContext");

            showTableEntriesPage.OpenFilter.Click();
            showTableEntriesPage.FilterModal.GetFilter("TimeSliceId").DateTimeInTicks.ClearAndInputText(document.TimeSliceId.UtcTicks.ToString());
            showTableEntriesPage.FilterModal.GetFilter("TimeSliceShardNumber").Input.ClearAndInputText(document.TimeSliceShardNumber.ToString());
            showTableEntriesPage.FilterModal.GetFilter("ContextId").Input.ClearAndInputText(document.ContextId.ToString());
            showTableEntriesPage.FilterModal.Apply.Click();

            showTableEntriesPage.BusinessObjectItems.WaitCount(1);
            var row = showTableEntriesPage.BusinessObjectItems[0];

            row.FindColumn("TimeSliceId").WaitText(document.TimeSliceId.ToString("yyyy-MM-ddTHH:mm:ss.ffK"));
            row.FindColumn("TimeSliceShardNumber").WaitText(document.TimeSliceShardNumber.ToString());
            row.FindColumn("ContextId").WaitText(document.ContextId.ToString());

            row.Delete.Click();
            showTableEntriesPage.ConfirmDeleteObjectModal.Delete.Click();
            browser.RefreshUntil(showTableEntriesPage, x => x.NothingFound.IsPresent.Get());

            GetConnectorDeliveryContext(document).Length.Should().Be(0);
            GetConnectorDeliveryContext(document2).Single().Should().BeEquivalentTo(document2);
        }
        public void TestNonSuperUserCantEditOrDeleteObject()
        {
            var document = CqlDocumentsForTests.GetCqlDocumentPrintingInfo();

            using (var context = new CqlDbContext())
                context.GetTable <DocumentPrintingInfo>().Insert(document).SetTimestamp(DateTimeOffset.UtcNow).Execute();

            using var browser = new BrowserForTests();
            var printingInfoPage = browser.SwitchTo <BusinessObjectTablePage>("DocumentPrintingInfo");

            printingInfoPage.OpenFilter.Click();
            printingInfoPage.FilterModal.GetFilter("Id").Input.ClearAndInputText(document.Id.ToString());
            printingInfoPage.FilterModal.Apply.Click();

            var detailsPage = printingInfoPage.BusinessObjectItems[0].Details.ClickAndGoTo <BusinessObjectDetailsPage>();

            detailsPage.RootAccordion.FindField("PartyId").Edit.WaitAbsence();
            detailsPage.Delete.WaitAbsence();
        }
示例#5
0
        private static Guid CreateDocument(string documentName)
        {
            var documentModel = CqlDocumentsForTests.GetDocumentModel();

            switch (documentName)
            {
            case "SqlDocument":
                CreateSqlDocument(documentModel);
                break;

            case "CqlDocument":
                CreateCqlDocument(documentModel);
                break;

            default:
                throw new InvalidOperationException();
            }
            return(documentModel.Id);
        }
示例#6
0
        public void TestDeleteDocumentWithClusteringKeyPart()
        {
            var documents             = CqlDocumentsForTests.GetCqlDocumentBindingMetaEntries(serializer);
            var firstPartnerPartyId   = documents[0].FirstPartnerPartyId;
            var secondPartnerPartyId  = documents[0].SecondPartnerPartyId;
            var documentType          = documents[0].DocumentType;
            var documentCirculationId = documents[0].DocumentCirculationId.ToString();

            using (var context = new CqlDbContext())
                context.InsertDocuments(documents);

            using var browser = new BrowserForTests();
            var showTableEntriesPage = browser.LoginAsSuperUser().SwitchTo <BusinessObjectTablePage>("DocumentBindingsMeta");

            showTableEntriesPage.OpenFilter.Click();
            showTableEntriesPage.FilterModal.GetFilter("BindingType").EnumSelect.SelectValueByText("ByPriceList");
            showTableEntriesPage.FilterModal.GetFilter("FirstPartnerPartyId").Input.ClearAndInputText(firstPartnerPartyId);
            showTableEntriesPage.FilterModal.GetFilter("SecondPartnerPartyId").Input.ClearAndInputText(secondPartnerPartyId);
            showTableEntriesPage.FilterModal.GetFilter("DocumentNumber").Input.ClearAndInputText("0");
            showTableEntriesPage.FilterModal.GetFilter("DocumentDate").Date.ClearAndInputText("10.10.2000");
            showTableEntriesPage.FilterModal.GetFilter("DocumentTime").DateTimeInTicks.ClearAndInputText(new DateTime(2020, 10, 10, 13, 12, 11, DateTimeKind.Utc).Ticks.ToString());
            showTableEntriesPage.FilterModal.GetFilter("DocumentType").Input.ClearAndInputText(documentType);
            showTableEntriesPage.FilterModal.GetFilter("DocumentCirculationId").Input.ClearAndInputText(documentCirculationId);
            showTableEntriesPage.FilterModal.Apply.Click();
            showTableEntriesPage.BusinessObjectItems.WaitCount(1);
            showTableEntriesPage.BusinessObjectItems[0].FindColumn("DocumentCirculationId").WaitText(documentCirculationId);
            showTableEntriesPage.BusinessObjectItems[0].Delete.Click();
            showTableEntriesPage.ConfirmDeleteObjectModal.Delete.Click();

            showTableEntriesPage = browser.RefreshUntil(showTableEntriesPage, x => x.NothingFound.IsPresent.Get());
            showTableEntriesPage.OpenFilter.Click();
            showTableEntriesPage.FilterModal.GetFilter("DocumentType").Input.Clear();
            showTableEntriesPage.FilterModal.GetFilter("DocumentCirculationId").Input.Clear();
            showTableEntriesPage.FilterModal.Apply.Click();
            showTableEntriesPage.BusinessObjectItems.WaitCount(9);

            GetBindingMeta(documents[0]).Length.Should().Be(0);
        }
        public void TestLinkFromFindShouldReferToDetailPage()
        {
            var document = CqlDocumentsForTests.GetCqlDocumentPrintingInfo();

            using (var context = new CqlDbContext())
                context.GetTable <DocumentPrintingInfo>().Insert(document).SetTimestamp(DateTimeOffset.UtcNow).Execute();

            using var browser = new BrowserForTests();
            var printingInfoPage = browser.LoginAsSuperUser().SwitchTo <BusinessObjectTablePage>("DocumentPrintingInfo");

            printingInfoPage.BusinessObjectItems.Count.Wait().That(Is.GreaterThan(0));
            printingInfoPage.OpenFilter.Click();
            printingInfoPage.FilterModal.GetFilter("Id").Input.ClearAndInputText(document.Id.ToString());
            printingInfoPage.FilterModal.Apply.Click();

            printingInfoPage.BusinessObjectItems.WaitCount(1);
            printingInfoPage.BusinessObjectItems[0].FindColumn("Id").WaitText(document.Id.ToString());
            var detailsPage = printingInfoPage.BusinessObjectItems[0].Details.ClickAndGoTo <BusinessObjectDetailsPage>();

            detailsPage.Header.WaitPresence();

            CheckDocumentPrintingInfoFields(detailsPage, document);
        }
        public void TestSuperUserCanEditOrDeleteObject()
        {
            var document = CqlDocumentsForTests.GetCqlDocumentPrintingInfo();

            using (var context = new CqlDbContext())
                context.GetTable <DocumentPrintingInfo>().Insert(document).SetTimestamp(DateTimeOffset.UtcNow).Execute();

            using var browser = new BrowserForTests();
            var printingInfoPage = browser.LoginAsSuperUser().SwitchTo <BusinessObjectTablePage>("DocumentPrintingInfo");

            printingInfoPage.OpenFilter.Click();
            printingInfoPage.FilterModal.GetFilter("Id").Input.ClearAndInputText(document.Id.ToString());
            printingInfoPage.FilterModal.Apply.Click();

            var detailsPage = printingInfoPage.BusinessObjectItems[0].Details.ClickAndGoTo <BusinessObjectDetailsPage>();

            var id = detailsPage.RootAccordion.FindField("Id");

            id.Edit.WaitAbsence();

            var partyId = detailsPage.RootAccordion.FindField("PartyId");

            partyId.Edit.WaitAbsence();

            var fileId = detailsPage.RootAccordion.FindField("FileId");

            fileId.Edit.Click();
            fileId.FieldValue.Input.ClearAndInputText("Abc");
            fileId.Save.Click();
            fileId.Value.WaitText("Abc");

            var status = detailsPage.RootAccordion.FindField("Status");

            status.Edit.Click();
            status.FieldValue.EnumSelect.WaitText("Finished");
            status.FieldValue.EnumSelect.WaitItems(new[] { "Unknown", "Pending", "Failed", "Finished" });
            status.FieldValue.EnumSelect.SelectValueByText("Failed");
            status.Save.Click();
            status.Value.WaitText("Failed");

            var timestamp = detailsPage.RootAccordion.FindField("Timestamp");

            timestamp.Edit.Click();
            timestamp.FieldValue.Date.ClearAndInputText("13.12.2013");
            timestamp.Save.Click();
            timestamp.Value.Text.Wait().That(Does.StartWith("2013-12-13"));

            document.FileId = "Abc";
            document.Status = DocumentPrintingStatus.Failed;

            detailsPage = browser.Refresh(detailsPage);
            CheckDocumentPrintingInfoFields(detailsPage, document);

            detailsPage.Delete.Click();
            printingInfoPage = detailsPage.ConfirmDeleteObjectModal.Delete.ClickAndGoTo <BusinessObjectTablePage>();
            printingInfoPage.OpenFilter.Click();
            printingInfoPage.FilterModal.GetFilter("Id").Input.ClearAndInputText(document.Id.ToString());
            printingInfoPage.FilterModal.Apply.Click();
            printingInfoPage.NothingFound.WaitPresence();
            printingInfoPage.BusinessObjectItems.WaitAbsence();
        }