test(ContourSegNavigation): Add e2e tests for contour segmentation navigation (#5834)

---------

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
This commit is contained in:
diattamoandgreptile-apps[bot] authored and GitHub committed 2026-03-03 16:52:03 -05:00
1 parent b6d362f375
commit f2ed4c9e6f
7 files changed
+205 -3

No files matched your search

+33
View File
@@ -64,6 +64,17 @@ export interface IViewportPageObject {
};
pane: Locator;
svg: (innerElement?: SvgInnerElement) => Locator;
navigationArrows: {
locator: Locator;
prev: {
button: Locator;
click: () => Promise<void>;
};
next: {
button: Locator;
click: () => Promise<void>;
};
};
}
export class ViewportPageObject {
@@ -146,6 +157,27 @@ export class ViewportPageObject {
return viewport.locator(`svg.svg-layer${innerElement ? ` ${innerElement}` : ''}`);
}
private getNavigationArrows(viewport: Locator) {
const container = viewport.getByTestId('viewport-action-arrows');
const prevButton = viewport.getByTestId('viewport-action-arrows-left');
const nextButton = viewport.getByTestId('viewport-action-arrows-right');
return {
locator: container,
prev: {
button: prevButton,
click: async () => {
await prevButton.click();
},
},
next: {
button: nextButton,
click: async () => {
await nextButton.click();
},
},
};
}
private viewportPageObjectFactory(viewport: Locator): IViewportPageObject {
return {
nthAnnotation: (nth: number) => this.getAnnotation(viewport, nth),
@@ -189,6 +221,7 @@ export class ViewportPageObject {
svg: (innerElement?: SvgInnerElement) => {
return this.getSvg(viewport, innerElement);
},
navigationArrows: this.getNavigationArrows(viewport),
};
}