Skip to content

Commit b1db0fc

Browse files
test: enhance tests by mocking isValidCslp function in variant-related test cases
1 parent ad42ec1 commit b1db0fc

3 files changed

Lines changed: 14 additions & 6 deletions

File tree

src/visualBuilder/eventManager/__test__/useVariantsPostMessageEvent.spec.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,9 @@ describe("useVariantFieldsPostMessageEvent", () => {
121121

122122
// Reset mocks
123123
vi.clearAllMocks();
124+
125+
// Mock isValidCslp to return true for test data (after clearAllMocks)
126+
vi.spyOn(cslpdata, "isValidCslp").mockReturnValue(true);
124127
});
125128

126129
afterEach(() => {
@@ -330,6 +333,9 @@ describe("addVariantFieldClass", () => {
330333

331334
// Reset mocks
332335
vi.clearAllMocks();
336+
337+
// Mock isValidCslp to return true for test data
338+
vi.spyOn(cslpdata, "isValidCslp").mockReturnValue(true);
333339
});
334340

335341
afterEach(() => {
@@ -391,6 +397,7 @@ describe("addVariantFieldClass", () => {
391397
variant: cslpValue.split(":")[1]
392398
}
393399
});
400+
394401
const variantUid = "variant-456";
395402
const highlightVariantFields = false;
396403
const variantOrder = ["variant-123", "variant-456"];

src/visualBuilder/generators/__test__/generateOverlay.test.ts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { VisualBuilder } from "../..";
44
import { VisualBuilderPostMessageEvents } from "../../utils/types/postMessage.types";
55
import visualBuilderPostMessage from "../../utils/visualBuilderPostMessage";
66
import { FieldSchemaMap } from "../../utils/fieldSchemaMap";
7-
import { extractDetailsFromCslp } from "../../../cslp/cslpdata";
7+
import * as cslpdata from "../../../cslp/cslpdata";
88

99
vi.mock("../../utils/visualBuilderPostMessage", () => ({
1010
default: {
@@ -21,9 +21,7 @@ vi.mock("../../utils/fieldSchemaMap", () => ({
2121
},
2222
}));
2323

24-
vi.mock("../../../cslp/cslpdata", () => ({
25-
extractDetailsFromCslp: vi.fn(),
26-
}));
24+
vi.spyOn(cslpdata, "extractDetailsFromCslp");
2725

2826
describe("sendFieldEvent", () => {
2927
let previousSelectedEditableDOM: HTMLElement;
@@ -55,7 +53,7 @@ describe("sendFieldEvent", () => {
5553
eventType: VisualBuilderPostMessageEvents.UPDATE_FIELD,
5654
});
5755

58-
expect(extractDetailsFromCslp).not.toHaveBeenCalled();
56+
expect(cslpdata.extractDetailsFromCslp).not.toHaveBeenCalled();
5957
expect(FieldSchemaMap.getFieldSchema).not.toHaveBeenCalled();
6058
expect(visualBuilderPostMessage?.send).not.toHaveBeenCalled();
6159
});

src/visualBuilder/utils/__test__/getVisualBuilderRedirectionUrl.test.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { describe, it, expect, vi } from 'vitest';
22
import getVisualBuilderRedirectionUrl from '../getVisualBuilderRedirectionUrl';
33
import Config from '../../../configManager/configManager';
4-
import { extractDetailsFromCslp } from '../../../cslp';
4+
import { extractDetailsFromCslp, isValidCslp } from '../../../cslp';
55

66
vi.mock('../../../configManager/configManager');
77
vi.mock('../../../cslp');
@@ -61,6 +61,7 @@ describe('getVisualBuilderRedirectionUrl', () => {
6161
}
6262
});
6363

64+
isValidCslp.mockReturnValue(true);
6465
extractDetailsFromCslp.mockReturnValue({ locale: 'fr-FR' });
6566

6667
const result = getVisualBuilderRedirectionUrl();
@@ -99,6 +100,8 @@ describe('getVisualBuilderRedirectionUrl', () => {
99100
}
100101
});
101102

103+
isValidCslp.mockReturnValue(false);
104+
102105
const result = getVisualBuilderRedirectionUrl();
103106
// Should use locale from config when data-cslp attribute is invalid (empty or no value)
104107
expect(result.toString()).toBe('https://app.example.com/#!/stack/12345/visual-builder?branch=main&environment=production&target-url=https%3A%2F%2Fexample.com%2F&locale=en-US');

0 commit comments

Comments
 (0)