diff --git a/packages/embeds/embed-core/playwright/tests/preview.e2e.ts b/packages/embeds/embed-core/playwright/tests/preview.e2e.ts index a55a0b97f44eec..28506adb07414b 100644 --- a/packages/embeds/embed-core/playwright/tests/preview.e2e.ts +++ b/packages/embeds/embed-core/playwright/tests/preview.e2e.ts @@ -3,7 +3,7 @@ import { expect } from "@playwright/test"; import { test } from "@calcom/web/playwright/lib/fixtures"; test.describe("Preview", () => { - test("Preview - embed-core should load", async ({ page }) => { + test("Preview - embed-core should load if correct embedLibUrl is provided", async ({ page }) => { await page.goto( "http://localhost:3000/embed/preview.html?embedLibUrl=http://localhost:3000/embed/embed.js&bookerUrl=http://localhost:3000&calLink=pro/30min" ); @@ -26,4 +26,20 @@ test.describe("Preview", () => { }); expect(libraryLoaded).toBe(true); }); + + test("Preview - embed-core should load from embedLibUrl", async ({ page }) => { + // Intentionally pass a URL that will not load to be able to easily test that the embed was loaded from there + page.goto( + "http://localhost:3000/embed/preview.html?embedLibUrl=http://wronglocalhost:3000/embed/embed.js&bookerUrl=http://localhost:3000&calLink=pro/30min" + ); + + const failedRequestUrl = await new Promise((resolve) => + page.on("requestfailed", (request) => { + console.log("request failed"); + resolve(request.url()); + }) + ); + + expect(failedRequestUrl).toBe("http://wronglocalhost:3000/embed/embed.js"); + }); }); diff --git a/packages/embeds/embed-core/src/preview.ts b/packages/embeds/embed-core/src/preview.ts index b4dcddc25329c6..d361342c76888d 100644 --- a/packages/embeds/embed-core/src/preview.ts +++ b/packages/embeds/embed-core/src/preview.ts @@ -47,7 +47,7 @@ if (!bookerUrl || !embedLibUrl) { } p(cal, ar); }; -})(window, "//localhost:3000/embed/embed.js", "init"); +})(window, embedLibUrl, "init"); const previewWindow = window; previewWindow.Cal.fingerprint = process.env.EMBED_PUBLIC_EMBED_FINGER_PRINT as string;