## Description Added ESLint rule to force blank lines between statements. Fixes #`Issue Number` _or_ Fixes `Issue URL` > [!WARNING] > _If no issue exists, please create an issue first, and check with the maintainers if the issue is valid._ ## Automation /ok-to-test tags="@tag.All" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!CAUTION] > 🔴 🔴 🔴 Some tests have failed. > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/10924926728> > Commit: 34f57714a1575ee04e94e03cbcaf95e57a96c86c > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10924926728&attempt=1&selectiontype=test&testsstatus=failed&specsstatus=fail" target="_blank">Cypress dashboard</a>. > Tags: @tag.All > Spec: > The following are new failures, please fix them before merging the PR: <ol> > <li>cypress/e2e/Regression/ClientSide/Anvil/AnvilModal_spec.ts > <li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilButtonWidgetSnapshot_spec.ts > <li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilCheckboxGroupWidgetSnapshot_spec.ts > <li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilCurrencyInputWidgetSnapshot_spec.ts > <li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilIconButtonWidgetSnapshot_spec.ts > <li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilInlineButtonWidgetSnapshot_spec.ts > <li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilInputWidgetSnapshot_spec.ts > <li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilParagraphWidgetSnapshot_spec.ts > <li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilPhoneInputWidgetSnapshot_spec.ts > <li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilStatsWidgetSnapshot_spec.ts > <li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilSwitchGroupWidgetSnapshot_spec.ts > <li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilSwitchWidgetSnapshot_spec.ts > <li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilTableWidgetSnapshot_spec.ts > <li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilToolbarButtonWidgetSnapshot_spec.ts > <li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilZoneSectionWidgetSnapshot_spec.ts</ol> > <a href="https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master" target="_blank">List of identified flaky tests</a>. > <hr>Wed, 18 Sep 2024 16:33:36 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No --------- Co-authored-by: Valera Melnikov <valera@appsmith.com>
100 lines
2.2 KiB
TypeScript
100 lines
2.2 KiB
TypeScript
import {
|
|
getDraggingSpacesFromBlocks,
|
|
getMousePositionsOnCanvas,
|
|
} from "./WidgetPropsUtils";
|
|
import type { WidgetDraggingBlock } from "layoutSystems/common/canvasArenas/ArenaTypes";
|
|
|
|
describe("WidgetProps tests", () => {
|
|
it("should convert WidgetDraggingBlocks to occupied Spaces", () => {
|
|
const draggingBlocks: WidgetDraggingBlock[] = [
|
|
{
|
|
left: 100,
|
|
top: 100,
|
|
width: 210,
|
|
height: 220,
|
|
widgetId: "1",
|
|
isNotColliding: true,
|
|
columnWidth: 10,
|
|
rowHeight: 10,
|
|
type: "",
|
|
},
|
|
{
|
|
left: 310,
|
|
top: 120,
|
|
width: 70,
|
|
height: 80,
|
|
widgetId: "2",
|
|
isNotColliding: true,
|
|
columnWidth: 10,
|
|
rowHeight: 10,
|
|
type: "",
|
|
},
|
|
];
|
|
const draggingSpaces = [
|
|
{
|
|
left: 10,
|
|
top: 10,
|
|
right: 31,
|
|
bottom: 32,
|
|
id: "1",
|
|
},
|
|
{
|
|
left: 31,
|
|
top: 12,
|
|
right: 38,
|
|
bottom: 20,
|
|
id: "2",
|
|
},
|
|
];
|
|
const snapColumnSpace = 10,
|
|
snapRowSpace = 10;
|
|
|
|
expect(
|
|
getDraggingSpacesFromBlocks(
|
|
draggingBlocks,
|
|
snapColumnSpace,
|
|
snapRowSpace,
|
|
),
|
|
).toEqual(draggingSpaces);
|
|
});
|
|
it("getMousePositionsOnCanvas should Return Mouse Position relative to Canvas", () => {
|
|
const gridProps = {
|
|
parentColumnSpace: 10,
|
|
parentRowSpace: 10,
|
|
maxGridColumns: 64,
|
|
};
|
|
const mouseEvent = {
|
|
offsetX: 500,
|
|
offsetY: 600,
|
|
} as unknown as MouseEvent;
|
|
|
|
expect(getMousePositionsOnCanvas(mouseEvent, gridProps)).toEqual({
|
|
id: "mouse",
|
|
top: 59,
|
|
left: 49,
|
|
bottom: 60,
|
|
right: 50,
|
|
});
|
|
});
|
|
|
|
it("getMousePositionsOnCanvas should even return negative Mouse Position relative to Canvas", () => {
|
|
const gridProps = {
|
|
parentColumnSpace: 10,
|
|
parentRowSpace: 10,
|
|
maxGridColumns: 64,
|
|
};
|
|
const mouseEvent = {
|
|
offsetX: 2,
|
|
offsetY: 5,
|
|
} as unknown as MouseEvent;
|
|
|
|
expect(getMousePositionsOnCanvas(mouseEvent, gridProps)).toEqual({
|
|
id: "mouse",
|
|
top: -1,
|
|
left: -1,
|
|
bottom: 0,
|
|
right: 0,
|
|
});
|
|
});
|
|
});
|