forked from langflow-ai/langflow
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: share button not working on canvas (langflow-ai#3770)
🔧 (utils.py): refactor import statement to get version info from utils module instead of version module 🔧 (index.tsx): add dataTestId attribute to submit button in ShareModal component for testing purposes ✨ (generalBugs-shard-13.spec.ts): add end-to-end test to verify sharing a flow on the Langflow Store via modal interaction
- Loading branch information
1 parent
89bced5
commit c3d1e41
Showing
3 changed files
with
92 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
88 changes: 88 additions & 0 deletions
88
src/frontend/tests/extended/regression/generalBugs-shard-13.spec.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
import { test } from "@playwright/test"; | ||
import * as dotenv from "dotenv"; | ||
import path from "path"; | ||
|
||
test("should be able to share a component on the store by clicking on the share button on the canvas", async ({ | ||
page, | ||
}) => { | ||
test.skip( | ||
!process?.env?.STORE_API_KEY, | ||
"STORE_API_KEY required to run this test", | ||
); | ||
|
||
if (!process.env.CI) { | ||
dotenv.config({ path: path.resolve(__dirname, "../../.env") }); | ||
} | ||
|
||
await page.goto("/"); | ||
await page.waitForTimeout(1000); | ||
|
||
let modalCount = 0; | ||
try { | ||
const modalTitleElement = await page?.getByTestId("modal-title"); | ||
if (modalTitleElement) { | ||
modalCount = await modalTitleElement.count(); | ||
} | ||
} catch (error) { | ||
modalCount = 0; | ||
} | ||
|
||
while (modalCount === 0) { | ||
await page.getByText("New Project", { exact: true }).click(); | ||
await page.waitForTimeout(5000); | ||
modalCount = await page.getByTestId("modal-title")?.count(); | ||
} | ||
|
||
await page.getByText("Close", { exact: true }).click(); | ||
|
||
await page.waitForTimeout(1000); | ||
|
||
await page.getByTestId("user-profile-settings").click(); | ||
await page.waitForTimeout(500); | ||
|
||
await page.getByText("Settings", { exact: true }).first().click(); | ||
|
||
await page.waitForTimeout(1000); | ||
|
||
await page | ||
.getByPlaceholder("Insert your API Key") | ||
.fill(process.env.STORE_API_KEY ?? ""); | ||
|
||
await page.getByTestId("api-key-save-button-store").click(); | ||
|
||
await page.waitForTimeout(1000); | ||
|
||
await page.getByText("Success! Your API Key has been saved.").isVisible(); | ||
|
||
await page.waitForTimeout(1000); | ||
|
||
await page.getByText("My Collection", { exact: true }).click(); | ||
|
||
await page.waitForTimeout(1000); | ||
|
||
await page.getByText("New Project", { exact: true }).click(); | ||
|
||
await page.getByRole("heading", { name: "Basic Prompting" }).click(); | ||
|
||
await page.waitForSelector("text=share", { timeout: 10000 }); | ||
await page.waitForSelector("text=playground", { timeout: 10000 }); | ||
await page.waitForSelector("text=api", { timeout: 10000 }); | ||
|
||
await page.getByTestId("shared-button-flow").click(); | ||
|
||
await page.waitForTimeout(500); | ||
|
||
await page.waitForSelector("text=Publish workflow to the Langflow Store.", { | ||
timeout: 10000, | ||
}); | ||
await page.waitForSelector('[data-testid="share-modal-button-flow"]', { | ||
timeout: 10000, | ||
}); | ||
await page.waitForSelector("text=Share Flow", { timeout: 10000 }); | ||
|
||
await page.getByTestId("share-modal-button-flow").click(); | ||
|
||
await page.waitForSelector("text=flow shared successfully ", { | ||
timeout: 10000, | ||
}); | ||
}); |