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 TestDownloadByteContent() { var content = string.Join("\n", new[] { "this is large file content" }.Concat(Enumerable.Range(0, 10000).Select(i => (i % 256).ToString()))); var blobId = Guid.NewGuid(); using (var context = new CqlDbContext()) context.GetTable <CqlActiveBoxState>().Insert(new CqlActiveBoxState { PartitionKey = "0", LastProcessedEventId = "0", BoxId = blobId, Content = Encoding.UTF8.GetBytes(content), }).SetTimestamp(DateTimeOffset.UtcNow).Execute(); using var browser = new BrowserForTests(); var tempFileStoragePage = browser.LoginAsSuperUser().SwitchTo <BusinessObjectTablePage>("CqlActiveBoxState"); tempFileStoragePage.OpenFilter.Click(); tempFileStoragePage.FilterModal.GetFilter("PartitionKey").Input.ClearAndInputText("0"); tempFileStoragePage.FilterModal.GetFilter("BoxId").Input.ClearAndInputText(blobId.ToString()); tempFileStoragePage.FilterModal.Apply.Click(); tempFileStoragePage.BusinessObjectItems.WaitCount(1); var detailsPage = tempFileStoragePage.BusinessObjectItems[0].Details.ClickAndGoTo <BusinessObjectDetailsPage>(); detailsPage.RootAccordion.FindField("Content").FieldValue.DownloadLink.Click(); Thread.Sleep(1000); var file = browser.DownloadFile("CqlActiveBoxState-Content-dGhpcy.bin"); file.Should().Be(content); }
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")); }
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); }
private static void CreateCqlDocument(DocumentModel documentModel) { using var context = new CqlDbContext(); var table = context.GetTable <CqlDocument>(); table.Insert(documentModel.ToCqlDocument()).SetTimestamp(DateTimeOffset.UtcNow).Execute(); }
public void Test() { using var context = new CqlDbContext(); CreateTable <CqlDocumentMeta>(context, 100); CreateTable <CqlOrganizationInfo>(context, 1000); CreateTable <CqlUserInfo>(context, 1500); CreateTable <DocumentBindingsMeta>(context, 150); CreateTable <DocumentPrintingInfo>(context, 11000); CreateTable <CqlDocument>(context, 123); }
private CqlConnectorDeliveryContext[] GetConnectorDeliveryContext(CqlConnectorDeliveryContext deliveryContext) { using var context = new CqlDbContext(); return(context.GetTable <CqlConnectorDeliveryContext>() .Where(x => x.TimeSliceId == deliveryContext.TimeSliceId && x.TimeSliceShardNumber == deliveryContext.TimeSliceShardNumber && x.ContextId == deliveryContext.ContextId) .Execute() .ToArray()); }
private static void CreateApiClient(string objectId, string lastEventId) { using var context = new CqlDbContext(); var table = context.GetTable <ApiClientThrift>(); table.Insert(new ApiClientThrift { Id = objectId, ScopeId = "scopeId", ArrayIndex = "arrayIndex", Description = lastEventId, }).SetTimestamp(DateTimeOffset.UtcNow).Execute(); }
private DocumentBindingsMeta[] GetBindingMeta(DocumentBindingsMeta meta) { using var context = new CqlDbContext(); return(context.GetTable <DocumentBindingsMeta>() .Where(x => x.BindingType == meta.BindingType && x.FirstPartnerPartyId == meta.FirstPartnerPartyId && x.SecondPartnerPartyId == meta.SecondPartnerPartyId && x.DocumentNumber == meta.DocumentNumber && x.DocumentDate == meta.DocumentDate && x.DocumentTime == meta.DocumentTime && x.DocumentType == meta.DocumentType && x.DocumentCirculationId == meta.DocumentCirculationId) .Execute() .ToArray()); }
private void CreateTable <T>(CqlDbContext context, int count) where T : class { context.DropTable <T>(); var table = context.GetTable <T>(); var fixture = new Fixture(); fixture.Register((DateTime dt) => dt.ToLocalDate()); fixture.Register((DateTime dt) => CassandraPrimitivesExtensions.ToLocalTime(dt)); for (var i = 0; i < count; i++) { table.Insert(Modify <T>(fixture)).SetTimestamp(DateTimeOffset.UtcNow).Execute(); } }
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(); }
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 TestSortDocuments() { var id = Guid.NewGuid().ToString(); var documents = Enumerable.Range(0, 100) .Select(x => new CqlActiveBoxState { PartitionKey = id, BoxId = Guid.NewGuid() }) .ToArray(); using (var context = new CqlDbContext()) context.InsertDocuments(documents); using var browser = new BrowserForTests(); var showTableEntriesPage = browser.SwitchTo <BusinessObjectTablePage>("CqlActiveBoxState"); showTableEntriesPage.OpenFilter.Click(); showTableEntriesPage.FilterModal.GetFilter("PartitionKey").Input.ClearAndInputText(id); showTableEntriesPage.FilterModal.Apply.Click(); showTableEntriesPage.TableHeader.SortByColumn("Header_BoxId"); showTableEntriesPage.TableHeader.SortByColumn("Header_BoxId"); showTableEntriesPage.BusinessObjectItems.Wait(x => x.FindColumn("BoxId").Text).That(Is.EqualTo(GetBoxIds(documents))); showTableEntriesPage.Paging.GoToNextPage(); showTableEntriesPage.BusinessObjectItems.Wait(x => x.FindColumn("BoxId").Text).That(Is.EqualTo(GetBoxIds(documents, skip: 20))); showTableEntriesPage.Paging.PagesCount.Wait().That(Is.EqualTo(5)); showTableEntriesPage.CountDropdown.CurrentCount.Click(); showTableEntriesPage.CountDropdown.Menu.GetItemByUniqueTid("##50Items").Click(); showTableEntriesPage.BusinessObjectItems.Wait(x => x.FindColumn("BoxId").Text).That(Is.EqualTo(GetBoxIds(documents, take: 50))); showTableEntriesPage.Paging.PagesCount.Wait().That(Is.EqualTo(2)); showTableEntriesPage.CountDropdown.CurrentCount.Click(); showTableEntriesPage.CountDropdown.Menu.GetItemByUniqueTid("##100Items").Click(); showTableEntriesPage.BusinessObjectItems.Wait(x => x.FindColumn("BoxId").Text).That(Is.EqualTo(GetBoxIds(documents, take: 100))); showTableEntriesPage.Paging.WaitAbsence(); }
private void Write(params TestDbSearcherObject[] objects) { using var context = new CqlDbContext(); context.InsertDocuments(objects); }
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(); }