Skip to content

Commit b3c9f83

Browse files
committed
adding logs
1 parent 3fc25d1 commit b3c9f83

File tree

5 files changed

+355
-10
lines changed

5 files changed

+355
-10
lines changed

src/visualBuilder/__test__/hover/fields/all-hover.test.ts

Lines changed: 93 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,25 +107,40 @@ describe("When an element is hovered in visual builder mode", () => {
107107
const fieldSchemaMap = getFieldSchemaMap().all_fields;
108108

109109
beforeAll(() => {
110+
const startTime = performance.now();
110111
// Pre-set all field schemas in cache to avoid async fetches during hover
111112
// This significantly speeds up tests, especially for html-rte, json-rte, link fields
112113
FieldSchemaMap.setFieldSchema("all_fields", fieldSchemaMap);
113114

114115
// Field schemas are already set above - no need for additional caching
115116
// The FieldSchemaMap.setFieldSchema call above sets all fields at once
117+
const endTime = performance.now();
118+
console.log(
119+
`[TIMING] beforeAll - setFieldSchema: ${(endTime - startTime).toFixed(2)}ms`
120+
);
116121
});
117122

118123
beforeEach(() => {
124+
const startTime = performance.now();
119125
Config.reset();
120126
Config.set("mode", 2);
121127
mousemoveEvent = new Event("mousemove", {
122128
bubbles: true,
123129
cancelable: true,
124130
});
131+
const endTime = performance.now();
132+
console.log(
133+
`[TIMING] beforeEach (outer) - Config setup: ${(endTime - startTime).toFixed(2)}ms`
134+
);
125135
});
126136

127137
afterEach(async () => {
138+
const startTime = performance.now();
128139
document.getElementsByTagName("html")[0].innerHTML = "";
140+
const endTime = performance.now();
141+
console.log(
142+
`[TIMING] afterEach (outer) - cleanup: ${(endTime - startTime).toFixed(2)}ms`
143+
);
129144
});
130145

131146
afterAll(() => {
@@ -139,18 +154,37 @@ describe("When an element is hovered in visual builder mode", () => {
139154
let visualBuilder: VisualBuilder;
140155

141156
beforeEach(() => {
157+
const startTime = performance.now();
142158
fieldElement = document.createElement("p");
143159
fieldElement.setAttribute("data-cslp", SINGLE_FIELD.cslp);
144160
fieldElement.getBoundingClientRect = vi
145161
.fn()
146162
.mockReturnValue(mockDomRect.singleLeft());
147163

148164
document.body.appendChild(fieldElement);
165+
const domSetupTime = performance.now();
166+
console.log(
167+
`[TIMING] beforeEach (${SINGLE_FIELD.name} field) - DOM setup: ${(domSetupTime - startTime).toFixed(2)}ms`
168+
);
169+
170+
const vbStartTime = performance.now();
149171
visualBuilder = new VisualBuilder();
172+
const vbEndTime = performance.now();
173+
console.log(
174+
`[TIMING] beforeEach (${SINGLE_FIELD.name} field) - VisualBuilder init: ${(vbEndTime - vbStartTime).toFixed(2)}ms`
175+
);
176+
console.log(
177+
`[TIMING] beforeEach (${SINGLE_FIELD.name} field) - TOTAL: ${(vbEndTime - startTime).toFixed(2)}ms`
178+
);
150179
});
151180

152181
afterEach(() => {
182+
const startTime = performance.now();
153183
visualBuilder.destroy();
184+
const endTime = performance.now();
185+
console.log(
186+
`[TIMING] afterEach (${SINGLE_FIELD.name} field) - VisualBuilder.destroy: ${(endTime - startTime).toFixed(2)}ms`
187+
);
154188
});
155189

156190
test("should have outline and custom cursor", async () => {
@@ -183,18 +217,37 @@ describe("When an element is hovered in visual builder mode", () => {
183217
let visualBuilder: VisualBuilder;
184218

185219
beforeEach(() => {
220+
const startTime = performance.now();
186221
fieldElement = document.createElement("p");
187222
fieldElement.setAttribute("data-cslp", MULTIPLE_FIELD.cslp);
188223
fieldElement.getBoundingClientRect = vi
189224
.fn()
190225
.mockReturnValue(mockDomRect.singleLeft());
191226

192227
document.body.appendChild(fieldElement);
228+
const domSetupTime = performance.now();
229+
console.log(
230+
`[TIMING] beforeEach (${MULTIPLE_FIELD.name} field) - DOM setup: ${(domSetupTime - startTime).toFixed(2)}ms`
231+
);
232+
233+
const vbStartTime = performance.now();
193234
visualBuilder = new VisualBuilder();
235+
const vbEndTime = performance.now();
236+
console.log(
237+
`[TIMING] beforeEach (${MULTIPLE_FIELD.name} field) - VisualBuilder init: ${(vbEndTime - vbStartTime).toFixed(2)}ms`
238+
);
239+
console.log(
240+
`[TIMING] beforeEach (${MULTIPLE_FIELD.name} field) - TOTAL: ${(vbEndTime - startTime).toFixed(2)}ms`
241+
);
194242
});
195243

196244
afterEach(() => {
245+
const startTime = performance.now();
197246
visualBuilder.destroy();
247+
const endTime = performance.now();
248+
console.log(
249+
`[TIMING] afterEach (${MULTIPLE_FIELD.name} field) - VisualBuilder.destroy: ${(endTime - startTime).toFixed(2)}ms`
250+
);
198251
});
199252

200253
test("should have outline and custom cursor", async () => {
@@ -228,6 +281,7 @@ describe("When an element is hovered in visual builder mode", () => {
228281
let visualBuilder: VisualBuilder;
229282

230283
beforeEach(() => {
284+
const startTime = performance.now();
231285
container = document.createElement("div");
232286
container.setAttribute("data-cslp", MULTIPLE_FIELD.multipleCslp);
233287
container.getBoundingClientRect = vi
@@ -255,12 +309,29 @@ describe("When an element is hovered in visual builder mode", () => {
255309
container.appendChild(firstField);
256310
container.appendChild(secondField);
257311
document.body.appendChild(container);
312+
const domSetupTime = performance.now();
313+
console.log(
314+
`[TIMING] beforeEach (${MULTIPLE_FIELD.name} field multiple) - DOM setup: ${(domSetupTime - startTime).toFixed(2)}ms`
315+
);
258316

317+
const vbStartTime = performance.now();
259318
visualBuilder = new VisualBuilder();
319+
const vbEndTime = performance.now();
320+
console.log(
321+
`[TIMING] beforeEach (${MULTIPLE_FIELD.name} field multiple) - VisualBuilder init: ${(vbEndTime - vbStartTime).toFixed(2)}ms`
322+
);
323+
console.log(
324+
`[TIMING] beforeEach (${MULTIPLE_FIELD.name} field multiple) - TOTAL: ${(vbEndTime - startTime).toFixed(2)}ms`
325+
);
260326
});
261327

262328
afterEach(() => {
329+
const startTime = performance.now();
263330
visualBuilder.destroy();
331+
const endTime = performance.now();
332+
console.log(
333+
`[TIMING] afterEach (${MULTIPLE_FIELD.name} field multiple) - VisualBuilder.destroy: ${(endTime - startTime).toFixed(2)}ms`
334+
);
264335
});
265336

266337
test("should have outline and custom cursor on container", async () => {
@@ -285,17 +356,34 @@ describe("When an element is hovered in visual builder mode", () => {
285356
expect(customCursor?.classList.contains("visible")).toBeTruthy();
286357
});
287358

288-
test("should have outline and custom cursor on individual instances", async () => {
359+
test.only("should have outline and custom cursor on individual instances", async () => {
360+
const testStartTime = performance.now();
361+
const dispatchStartTime = performance.now();
289362
firstField.dispatchEvent(mousemoveEvent);
363+
const dispatchEndTime = performance.now();
364+
console.log(
365+
`[TIMING] test - dispatchEvent: ${(dispatchEndTime - dispatchStartTime).toFixed(2)}ms`
366+
);
367+
368+
const hoverOutlineStartTime = performance.now();
290369
await waitForHoverOutline();
370+
const hoverOutlineEndTime = performance.now();
371+
console.log(
372+
`[TIMING] test - waitForHoverOutline: ${(hoverOutlineEndTime - hoverOutlineStartTime).toFixed(2)}ms`
373+
);
291374

292375
const hoverOutline = document.querySelector(
293376
"[data-testid='visual-builder__hover-outline']"
294377
);
295378
expect(hoverOutline).toHaveAttribute("style");
296379

297380
// Wait for cursor icon to be set (not "loading")
381+
const cursorIconStartTime = performance.now();
298382
await waitForCursorIcon(MULTIPLE_FIELD.icon, { timeout: 5000 });
383+
const cursorIconEndTime = performance.now();
384+
console.log(
385+
`[TIMING] test - waitForCursorIcon: ${(cursorIconEndTime - cursorIconStartTime).toFixed(2)}ms`
386+
);
299387

300388
const customCursor = document.querySelector(
301389
`[data-testid="visual-builder__cursor"]`
@@ -305,6 +393,10 @@ describe("When an element is hovered in visual builder mode", () => {
305393
MULTIPLE_FIELD.icon
306394
);
307395
expect(customCursor?.classList.contains("visible")).toBeTruthy();
396+
const testEndTime = performance.now();
397+
console.log(
398+
`[TIMING] test - TOTAL: ${(testEndTime - testStartTime).toFixed(2)}ms`
399+
);
308400
});
309401
});
310402
});

0 commit comments

Comments
 (0)