Skip to content

[ZEPPELIN-6517] Add E2E tests for notebook paragraph components - #5476

Open
miinhho wants to merge 1 commit into
apache:masterfrom
miinhho:test/notebook-paragraph-sub-component
Open

[ZEPPELIN-6517] Add E2E tests for notebook paragraph components#5476
miinhho wants to merge 1 commit into
apache:masterfrom
miinhho:test/notebook-paragraph-sub-component

Conversation

@miinhho

@miinhho miinhho commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

What is this PR for?

This PR improves the behavior-focused E2E coverage for the notebook paragraph sub-components.

It replaces shallow visibility checks and interpreter-error fallbacks with scenarios that verify user-observable paragraph behavior:

  • Add paragraphs above and below the current paragraph
  • Edit Monaco content and verify focused, dirty, and rendered line states
  • Inspect the paragraph settings available for single and multiple paragraphs
  • Clone, insert, move, and remove paragraphs
  • Toggle the editor, output, line numbers, and run state
  • Edit paragraph titles and verify Enter, Escape, and blur behavior
  • Verify running, finished, outdated, and cancelled paragraph states
  • Verify progress and footer timing information
  • Verify that paragraph insertion is disabled while execution is in progress

The paragraph page object is also updated to:

  • Scope component locators to the primary paragraph
  • Provide helpers for add-paragraph and settings-menu interactions
  • Replace individual settings-menu locators with a typed settingsMenuItem() accessor
  • Support interactions with settings menus belonging to different paragraphs
  • Use stable, component-specific locators instead of broad fallback selectors

What type of PR is it?

Improvement

What is the Jira issue?

How should this be tested?

From zeppelin-web-angular/, run:

npm run e2e:fast -- tests/notebook/paragraph/paragraph-functionality.spec.ts

Questions:

  • Does the license files need to update? No
  • Is there breaking changes for older versions? No
  • Does this needs documentation? No

@miinhho
miinhho force-pushed the test/notebook-paragraph-sub-component branch from e5d7dd0 to 64c0899 Compare September 13, 2026 08:15
@tbonelee

Copy link
Copy Markdown
Contributor

Could you rebase this onto master?

@miinhho
miinhho force-pushed the test/notebook-paragraph-sub-component branch from 64c0899 to f64538b Compare September 13, 2026 10:45

@voidmatcha voidmatcha left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

.

@voidmatcha voidmatcha left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice rework, replacing shallow visibility checks with behavior-focused scenarios. A couple of things:

Must fix: The @NB-PARITY-003/004 tags got dropped, so this PR's frontend CI is failing (log). Candidate fix: https://github.com/voidmatcha/zeppelin/tree/review/pr5476-parity-check

Unrelated bug found (ZEPPELIN-6710): While verifying this test I ran into a pre-existing bug unrelated to this PR — under CI load, Monaco's word-based suggestion swallows Enter and drops a line (line threeline four). Filed a separate ticket and put up a candidate fix: https://github.com/voidmatcha/zeppelin/tree/fix/monaco-word-suggest-enter-race (11/11 on webkit+firefox). Once that lands, the flakiness here should go away too.

Minor (non-blocking): getElapsedTime() returns 'Running…' before dateStarted is set, but the two new tests only expect /^Started .+ ago\.$/, so this could be occasionally flaky on slow CI. Fix included in the review/pr5476-parity-check branch above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants