jomarko commented on code in PR #2441:
URL:
https://github.com/apache/incubator-kie-tools/pull/2441#discussion_r1680989066
##########
packages/scesim-editor/tests-e2e/__fixtures__/table.ts:
##########
@@ -44,33 +44,57 @@ export class Table {
: await this.page.getByRole("menuitem", { name: "Insert Above"
}).click();
}
- public async addPropertyColumn(args: { targetCellName: string; position:
AddColumnPosition; nth: number }) {
- await this.page.getByRole("columnheader", { name: args.targetCellName
}).nth(args.nth).click({ button: "right" });
+ public async addPropertyColumn(args: { targetCellName: string; position:
AddColumnPosition; columnNumber: number }) {
+ await this.page
+ .getByRole("columnheader", { name: args.targetCellName })
+ .nth(args.columnNumber)
+ .click({ button: "right" });
args.position === AddColumnPosition.LEFT
? await this.page.getByRole("menuitem", { name: "Insert Field Left"
}).click()
: await this.page.getByRole("menuitem", { name: "Insert Field Right"
}).click();
}
- public async addInstanceColumn(args: { targetCellName: string; position:
AddColumnPosition }) {
- await this.page.getByRole("columnheader", { name: args.targetCellName
}).click({ button: "right" });
+ public async addInstanceColumn(args: { targetCellName: string; position:
AddColumnPosition; columnNumber?: number }) {
+ args.columnNumber === undefined
+ ? await this.page.getByRole("columnheader", { name: args.targetCellName
}).click({ button: "right" })
+ : await this.page
+ .getByRole("columnheader", { name: args.targetCellName })
+ .nth(args.columnNumber)
+ .click({ button: "right" });
+
args.position === AddColumnPosition.LEFT
? await this.page.getByRole("menuitem", { name: "Insert Instance Left"
}).click()
: await this.page.getByRole("menuitem", { name: "Insert Instance Right"
}).click();
}
+
public async selectCell(args: { rowNumber: string; columnNumber: number }) {
await this.page
.getByRole("row", { name: args.rowNumber })
.getByTestId("monaco-container")
.nth(args.columnNumber)
.click();
}
- public getColumnHeader(args: { name: string }) {
- return this.page.getByRole("columnheader", { name: args.name });
+
+ public async selectColumnHeader(args: { name: string; columnNumber?: number
}) {
+ args.columnNumber === undefined
+ ? await this.page.getByRole("columnheader", { name: args.name }).click()
+ : await this.page.getByRole("columnheader", { name: args.name
}).nth(args.columnNumber).click();
}
public getCell(args: { rowNumber: string; columnNumber: number }) {
return this.page.getByRole("row", { name: args.rowNumber
}).nth(args.columnNumber);
}
+
+ public getNumberedCell(args: { name: string }) {
+ return this.page.getByRole("cell", { name: args.name });
+ }
+
+ public getColumnHeader(args: { name: string; columnNumber?: number }) {
+ return args.columnNumber === undefined
+ ? this.page.getByRole("columnheader", { name: args.name })
+ : this.page.getByRole("columnheader", { name: args.name
}).nth(args.columnNumber);
Review Comment:
Maybe all these expressions in the form as:
```
(condition) ? locator.execute() : locator.nth().execute()
```
Could be written in a form
```
locator.nth(args.columnNumber ?? 0).execute()
```
so for this commented code it would be:
```
this.page.getByRole("columnheader", { name: args.name
}).nth(args.columnNumber ?? 0);
```
juts an idea, maybe some more experienced typescript developer will say
other opinion.
##########
packages/scesim-editor/tests-e2e/scesimEditor/backgroundTable/contextMenu.spec.ts:
##########
@@ -89,28 +89,68 @@ test.describe("Background table context menu", () => {
await table.addPropertyColumn({
targetCellName: "PROPERTY (<Undefined>)",
position: AddColumnPosition.LEFT,
- nth: 0,
+ columnNumber: 0,
});
- await expect(table.getColumnHeader({ name: "PROPERTY (<Undefined>)"
}).nth(2)).toBeAttached();
+ await expect(table.getColumnHeader({ name: "PROPERTY (<Undefined>)",
columnNumber: 2 })).toBeAttached();
await
expect(backgroundTable.get()).toHaveScreenshot("background-table-add-property-column-left.png");
- await contextMenu.openOnProperty({ name: "PROPERTY (<Undefined>)",
columnNumber: 1 });
+ await contextMenu.openOnColumnHeader({ name: "PROPERTY (<Undefined>)",
columnNumber: 1 });
await contextMenu.clickMenuItem({ menuItem: MenuItem.DELETE_FIELD });
- await expect(table.getColumnHeader({ name: "PROPERTY (<Undefined>)"
}).nth(2)).not.toBeAttached();
+ await expect(table.getColumnHeader({ name: "PROPERTY (<Undefined>)",
columnNumber: 2 })).not.toBeAttached();
});
test("should add and delete property column right", async ({ table,
backgroundTable, contextMenu }) => {
await table.addPropertyColumn({
targetCellName: "PROPERTY (<Undefined>)",
position: AddColumnPosition.RIGHT,
- nth: 0,
+ columnNumber: 0,
});
- await expect(table.getColumnHeader({ name: "PROPERTY (<Undefined>)"
}).nth(2)).toBeAttached();
+ await expect(table.getColumnHeader({ name: "PROPERTY (<Undefined>)",
columnNumber: 2 })).toBeAttached();
await
expect(backgroundTable.get()).toHaveScreenshot("background-table-add-property-column-right.png");
- await contextMenu.openOnProperty({ name: "PROPERTY (<Undefined>)",
columnNumber: 1 });
+ await contextMenu.openOnColumnHeader({ name: "PROPERTY (<Undefined>)",
columnNumber: 1 });
await contextMenu.clickMenuItem({ menuItem: MenuItem.DELETE_FIELD });
- await expect(table.getColumnHeader({ name: "PROPERTY (<Undefined>)"
}).nth(2)).not.toBeAttached();
+ await expect(table.getColumnHeader({ name: "PROPERTY (<Undefined>)",
columnNumber: 2 })).not.toBeAttached();
+ });
+
+ test("should not render context menu on the given header", async ({ table,
backgroundTable, contextMenu }) => {
+ test.skip(true,
"https://github.com/apache/incubator-kie-issues/issues/1342");
Review Comment:
^ probably multiple times in this PR
##########
packages/scesim-editor/tests-e2e/scesimEditor/testScenarioTable/contextMenu.spec.ts:
##########
@@ -125,5 +125,108 @@ test.describe("Test scenario table context menu", () => {
await contextMenu.clickMenuItem({ menuItem: MenuItem.DELETE_SCENARIO });
await expect(table.getCell({ rowNumber: "3", columnNumber: 0
})).not.toBeAttached();
});
+
+ test("should not render context menu on the hash header", async ({ table,
testScenarioTable, contextMenu }) => {
+ test.skip(true,
"https://github.com/apache/incubator-kie-issues/issues/1342");
+ await table.getColumnHeader({ name: "#" }).click({ button: "right" });
+ await expect(contextMenu.getHeading({ heading: HeadingType.SELECTION
})).not.toBeAttached();
+ await expect(contextMenu.getHeading({ heading: HeadingType.SCENARIO
})).not.toBeAttached();
+ await expect(contextMenu.getHeading({ heading: HeadingType.FIELD
})).not.toBeAttached();
+ await expect(contextMenu.getHeading({ heading: HeadingType.INSTANCE
})).not.toBeAttached();
+ await
expect(testScenarioTable.get()).toHaveScreenshot("test-scenario-table-hash-no-context-menu.png");
Review Comment:
do we need to skip these test that compare with `*-no-context-menu.png`?
When I look on the images, there is no context menu, so to me it seems like
working and my expectation would be we can run these tests?
##########
packages/scesim-editor/tests-e2e/scesimEditor/backgroundTable/contextMenu.spec.ts:
##########
@@ -89,28 +89,68 @@ test.describe("Background table context menu", () => {
await table.addPropertyColumn({
targetCellName: "PROPERTY (<Undefined>)",
position: AddColumnPosition.LEFT,
- nth: 0,
+ columnNumber: 0,
});
- await expect(table.getColumnHeader({ name: "PROPERTY (<Undefined>)"
}).nth(2)).toBeAttached();
+ await expect(table.getColumnHeader({ name: "PROPERTY (<Undefined>)",
columnNumber: 2 })).toBeAttached();
await
expect(backgroundTable.get()).toHaveScreenshot("background-table-add-property-column-left.png");
- await contextMenu.openOnProperty({ name: "PROPERTY (<Undefined>)",
columnNumber: 1 });
+ await contextMenu.openOnColumnHeader({ name: "PROPERTY (<Undefined>)",
columnNumber: 1 });
await contextMenu.clickMenuItem({ menuItem: MenuItem.DELETE_FIELD });
- await expect(table.getColumnHeader({ name: "PROPERTY (<Undefined>)"
}).nth(2)).not.toBeAttached();
+ await expect(table.getColumnHeader({ name: "PROPERTY (<Undefined>)",
columnNumber: 2 })).not.toBeAttached();
});
test("should add and delete property column right", async ({ table,
backgroundTable, contextMenu }) => {
await table.addPropertyColumn({
targetCellName: "PROPERTY (<Undefined>)",
position: AddColumnPosition.RIGHT,
- nth: 0,
+ columnNumber: 0,
});
- await expect(table.getColumnHeader({ name: "PROPERTY (<Undefined>)"
}).nth(2)).toBeAttached();
+ await expect(table.getColumnHeader({ name: "PROPERTY (<Undefined>)",
columnNumber: 2 })).toBeAttached();
await
expect(backgroundTable.get()).toHaveScreenshot("background-table-add-property-column-right.png");
- await contextMenu.openOnProperty({ name: "PROPERTY (<Undefined>)",
columnNumber: 1 });
+ await contextMenu.openOnColumnHeader({ name: "PROPERTY (<Undefined>)",
columnNumber: 1 });
await contextMenu.clickMenuItem({ menuItem: MenuItem.DELETE_FIELD });
- await expect(table.getColumnHeader({ name: "PROPERTY (<Undefined>)"
}).nth(2)).not.toBeAttached();
+ await expect(table.getColumnHeader({ name: "PROPERTY (<Undefined>)",
columnNumber: 2 })).not.toBeAttached();
+ });
+
+ test("should not render context menu on the given header", async ({ table,
backgroundTable, contextMenu }) => {
+ test.skip(true,
"https://github.com/apache/incubator-kie-issues/issues/1342");
Review Comment:
I think in other test suites, we always have also push to the annotations:
```
test.skip...
test.info().annotations.push....
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]