diff --git a/src/components/headers_overlay/headers_overlay.ts b/src/components/headers_overlay/headers_overlay.ts index a5c049a33b..a748815333 100644 --- a/src/components/headers_overlay/headers_overlay.ts +++ b/src/components/headers_overlay/headers_overlay.ts @@ -142,7 +142,12 @@ abstract class AbstractResizer extends Component { await nextTick(); expect(fixture.querySelector(".o-context-menu")).toBeFalsy(); }); + + test("Can open context menu in readonly", async () => { + model.updateMode("readonly"); + triggerMouseEvent(".o-overlay .o-col-resizer", "contextmenu", 10, 10); + await nextTick(); + expect(fixture.querySelector(".o-menu")).toBeTruthy(); + }); + + test("Cannot resize a column in readonly", async () => { + model.updateMode("readonly"); + triggerMouseEvent(".o-overlay .o-col-resizer", "mousemove", DEFAULT_CELL_WIDTH, 10); + await nextTick(); + expect(fixture.querySelector(".o-overlay .o-col-resizer .o-handle")).toBeNull(); + }); }); describe("Hide/show columns", () => { beforeEach(async () => { @@ -1114,6 +1129,15 @@ describe("move selected element(s)", () => { expect(getEvaluatedCell(model, "C1").value).toBe("c1"); expect(getEvaluatedCell(model, "D1").value).toBe("d1"); }); + + test("Can select a column but not move move it in readonly", async () => { + model.updateMode("readonly"); + await selectColumnByClicking(model, "A", {}); + expect(model.getters.getActiveCols()).toEqual(new Set([0])); + + await simulateClick(".o-overlay .o-col-resizer", 10, 10); + expect(fixture.querySelector(".o-overlay .o-col-resizer")?.classList).not.toContain("o-grab"); + }); }); describe("move selected row(s)", () => {