From 7d6e88ccd30bfec82b07e708b169cc89f1ef3f4e Mon Sep 17 00:00:00 2001 From: Neha P <144308844+neha00290@users.noreply.github.com> Date: Tue, 21 May 2024 15:25:20 +0530 Subject: [PATCH] test: e2e-schema-testcases (#3555) Testcases for the following scenarios - - Verify if user is able to create stream with empty name - Verify if user navigates to logs and selects empty name stream and then selects a stream with fields, all the data should load - Verify if user is able to add field - Verify if user is able to delete field --- .../playwright-tests/schema.spec.js | 70 ++++++++++++++++++- 1 file changed, 69 insertions(+), 1 deletion(-) diff --git a/tests/ui-testing/playwright-tests/schema.spec.js b/tests/ui-testing/playwright-tests/schema.spec.js index 6b208a4724..ac29dd6bc8 100644 --- a/tests/ui-testing/playwright-tests/schema.spec.js +++ b/tests/ui-testing/playwright-tests/schema.spec.js @@ -4,7 +4,7 @@ import { log } from "console"; import logsdata from "../../test-data/logs_data.json"; test.describe.configure({ mode: 'parallel' }); -const folderName = `Folder ${Date.now()}` +const streamName = `stream${Date.now()}` async function login(page) { await page.goto(process.env["ZO_BASE_URL"]); @@ -134,4 +134,72 @@ test.describe("Schema testcases", () => { await page.getByText('{ arrow_drop_down_timestamp:').click(); }) + + + test('should display stream details on navigating from blank stream to stream with details', async ({ page }) => { + await page.locator('[data-test="menu-link-\\/streams-item"]').click(); + await page.locator('[data-test="log-stream-add-stream-btn"]').click(); + await page.getByLabel('Name *').click(); + await page.getByLabel('Name *').fill(streamName); + await page.locator('.q-form > div:nth-child(2) > .q-field > .q-field__inner > .q-field__control > .q-field__control-container > .q-field__native').click(); + await page.getByRole('option', { name: 'Logs' }).locator('div').nth(2).click(); + await page.locator('[data-test="save-stream-btn"]').click(); + await page.waitForTimeout(1000); + await page.locator('[data-test="menu-link-\\/-item"]').click(); + await page.locator('[data-test="menu-link-\\/logs-item"]').click(); + await page.locator('#fnEditor > .monaco-editor > .overflow-guard > .monaco-scrollable-element > .lines-content > .view-lines > .view-line').click() + await page.locator('[data-test="log-search-index-list-select-stream"]').click(); + await page.locator('[data-test="log-search-index-list-select-stream"]').fill(streamName); + await page.getByRole('option', { name: streamName }).locator('div').nth(2).click(); + await page.waitForTimeout(1000); + await page.locator('[data-test="log-search-index-list-select-stream"]').click(); + await page.locator('[data-test="log-search-index-list-select-stream"]').fill('e2e_automate'); + await page.getByRole('option', { name: 'e2e_automate' }).locator('div').nth(2).click(); + await page.waitForTimeout(4000); + await page.waitForSelector('text=Loading...', { state: 'hidden' }); + await page.getByTitle('_timestamp').click(); + await page.locator('[data-test="menu-link-\\/streams-item"]').click(); + await page.getByPlaceholder('Search Stream').click(); + await page.getByPlaceholder('Search Stream').fill(streamName); + await page.locator('[data-test="log-stream-refresh-stats-btn"]').click(); + await page.getByPlaceholder('Search Stream').click(); + await page.getByPlaceholder('Search Stream').click(); + await page.getByRole('button', { name: 'Delete' }).click(); + await page.getByRole('button', { name: 'Ok' }).click(); + }); + + test('should details on navigating from blank stream to stream with details', async ({ page }) => { + await page.locator('[data-test="menu-link-\\/streams-item"]').click(); + await page.getByPlaceholder('Search Stream').click(); + await page.getByPlaceholder('Search Stream').fill('e2e_automate'); + await page.getByRole('button', { name: 'Stream Detail' }).first().click(); + await page.locator('[data-test="schema-stream-delete-kubernetes_annotations_kubectl_kubernetes_io_default_container-field-fts-key-checkbox"]').click(); + await page.locator('[data-test="schema-stream-delete-kubernetes_annotations_kubernetes_io_psp-field-fts-key-checkbox"]').click(); + await page.locator('[data-test="schema-add-field-button"]').click(); + await page.locator('[data-test="schema-update-settings-button"]').click(); + await page.locator('[data-test="add-stream-add-field-btn"]').click(); + await page.getByPlaceholder('Name *').click(); + await page.getByPlaceholder('Name *').fill('newtest'); + await page.locator('[data-test="schema-update-settings-button"]').click(); + await page.locator('[data-test="schema-stream-delete-newtest-field-fts-key-checkbox"]').click(); + await page.locator('[data-test="schema-add-field-button"]').click(); + await page.locator('[data-test="schema-update-settings-button"]').click(); + await page.getByRole('cell', { name: 'newtest' }).first().click(); + await page.locator('[data-test="schema-stream-delete-newtest-field-fts-key-checkbox"]').first().click(); + await page.locator('[data-test="schema-delete-button"]').click(); + await page.locator('[data-test="confirm-button"]').click(); + await page.waitForTimeout(2000); + await page.locator('button').filter({ hasText: 'close' }).click() + await page.waitForTimeout(1000); + // await page.getByPlaceholder('Search Stream').click(); + // await page.getByPlaceholder('Search Stream').fill('e2e_automate'); + await page.getByRole('button', { name: 'Stream Detail' }).first().click(); + await page.locator('[data-test="tab-schemaFields"]').click(); + await page.locator('[data-test="schema-stream-delete-kubernetes_annotations_kubectl_kubernetes_io_default_container-field-fts-key-checkbox"]').click(); + await page.locator('[data-test="schema-stream-delete-kubernetes_annotations_kubernetes_io_psp-field-fts-key-checkbox"]').click(); + // await page.locator('[data-test="schema-stream-delete-oooo-field-fts-key-checkbox"]').click(); + await page.locator('[data-test="schema-add-field-button"]').click(); + await page.locator('[data-test="schema-update-settings-button"]').click(); + + }) }) \ No newline at end of file