feat: Refactor langflow Components - Consolidate Imports, Remove Unused Components, and Update Astra Assistant Icons (#4460)
* fix lint * fix lint * [autofix.ci] apply automated fixes * 📝 (message_to_data.py): refactor convert_message_to_data method to simplify code and improve readability 🔧 (conftest.py): update imports to organize them alphabetically for better code maintenance 🔧 (test_starter_projects.py): organize imports alphabetically for better code maintenance 🔧 (test_astra_component.py): organize imports alphabetically for better code maintenance 🔧 (test_parse_json_data.py): remove unnecessary whitespace for cleaner code 🔧 (test_chat_input.py): remove unnecessary whitespace for cleaner code 🔧 (test_text_input.py): remove unnecessary whitespace for cleaner code 🔧 (test_output_parser.py): remove unnecessary whitespace for cleaner code 🔧 (test_chat_output.py): remove unnecessary whitespace for cleaner code 🔧 (test_text_output.py): remove unnecessary whitespace for cleaner code 🔧 (test_prompt.py): remove unnecessary whitespace for cleaner code 🔧 (test_basic_prompting.py): remove unnecessary whitespace for cleaner code 🔧 (test_misc.py): remove unnecessary whitespace for cleaner code 🔧 (utils.py): remove unnecessary whitespace for cleaner code 🔧 (test_server_init.py): remove unnecessary whitespace for cleaner code 🔧 (test_endpoints.py): remove unnecessary whitespace for cleaner code 🔧 (test_component_toolkit.py): remove unnecessary whitespace for cleaner code 🔧 (test_agent_component.py): remove unnecessary whitespace for cleaner code 🔧 (test_agent_events.py): remove unnecessary whitespace for cleaner code 🔧 (test_tool_calling_agent.py): remove unnecessary whitespace for cleaner code 🔧 (test_structured_output_component.py): remove unnecessary whitespace for cleaner code 🔧 (test_chatollama_component.py): remove unnecessary whitespace for cleaner code 📝 (test_huggingface.py): Remove unnecessary import statement 📝 (test_create_data_component.py): Remove unnecessary import statement 📝 (test_update_data_component.py): Remove unnecessary import statement 📝 (test_componet_set_functionality.py): Remove unnecessary import statement 📝 (test_component.py): Remove unnecessary import statement 📝 (test_event_manager.py): Remove unnecessary import statement 📝 (test_edge_base.py): Remove unnecessary import statement 📝 (test_state_model.py): Remove unnecessary import statement 📝 (test_base.py): Remove unnecessary import statement 📝 (test_callback_graph.py): Remove unnecessary import statement 📝 (test_cycles.py): Remove unnecessary import statement 📝 (test_graph_state_model.py): Remove unnecessary import statement 📝 (test_runnable_vertices_manager.py): Remove unnecessary import statement 📝 (test_utils.py): Remove unnecessary import statement 📝 (test_graph.py): Remove unnecessary import statement 📝 (test_base_model_from_schema.py): Reorder import statements 📝 (test_memory_chatbot.py): Remove unnecessary import statement 📝 (test_vector_store_rag.py): Remove unnecessary import statement 📝 (test_inputs.py): Reorder import statements 📝 (test_io_schema.py): Remove unnecessary import statement 📝 (test_table_schema.py): Remove unnecessary import statement 📝 (test_schema_message.py): Remove unnecessary import statement 📝 (test_service.py): Reorder import statements 📝 (test_api_key.py): Remove unnecessary import statement 📝 (test_chat_endpoint.py): Remove unnecessary import statement 📝 (test_cli.py): Remove unnecessary import statement 📝 (test_custom_component.py): Add missing import statement in test_custom_component.py 📝 (test_custom_component_with_client.py): Add missing import statement in test_custom_component_with_client.py 📝 (test_data_class.py): Add missing import statement in test_data_class.py 📝 (test_data_components.py): Add missing import statement in test_data_components.py 📝 (test_database.py): Add missing import statement in test_database.py 📝 (test_endpoints.py): Add missing import statement in test_endpoints.py 📝 (test_files.py): Add missing import statement in test_files.py 📝 (test_frontend_nodes.py): Add missing import statement in test_frontend_nodes.py 📝 (test_initial_setup.py): Add missing import statement in test_initial_setup.py 📝 (test_kubernetes_secrets.py): Add missing import statement in test_kubernetes_secrets.py 📝 (test_logger.py): Add missing import statement in test_logger.py 📝 (test_login.py): Add missing import statement in test_login.py 📝 (test_messages.py): Add missing import statement in test_messages.py 📝 (test_messages_endpoints.py): Add missing import statement in test_messages_endpoints.py 📝 (test_schema.py): Add missing import statement in test_schema.py 📝 (test_telemetry.py): Add missing import statement in test_telemetry.py 📝 (test_template.py): Add missing import statement in test_template.py 📝 (test_user.py): Add missing import statement in test_user.py 📝 (test_validate_code.py): Add missing import statement in test_validate_code.py 📝 (test_connection_string_parser.py): Add missing import statement in test_connection_string_parser.py 📝 (test_format_directory_path.py): Add missing import statement in test_format_directory_path.py 📝 (test_rewrite_file_path.py): Add missing import statement in test_rewrite_file_path.py 📝 (test_truncate_long_strings.py): Add missing import statement in test_truncate_long_strings.py 📝 (test_truncate_long_strings_on_objects.py): Add missing import statement in test_truncate_long_strings_on_objects.py * [autofix.ci] apply automated fixes * formatting * Update import paths for MemoryComponent and HuggingFaceEndpointsComponent * fix tests * ✨ (decisionFlow.spec.ts): update test selectors to match changes in the application's UI for better test accuracy and reliability * [autofix.ci] apply automated fixes * ♻️ (test_output_parser.py): refactor import statements to improve code readability and maintainability * fix tests * ✅ (Simple Agent.spec.ts): enable test for "Simple Agent" by removing the skip flag to ensure it runs properly * [autofix.ci] apply automated fixes * Remove optional type from 'num_news' field in YahooFinanceSchema * Refactor JSON formatting for improved readability and maintainability across starter projects. * adding icon to flows * [autofix.ci] apply automated fixes * ✅ (similarity.spec.ts): update test selectors for filtering and connection nodes to match changes in the frontend implementation * [autofix.ci] apply automated fixes * removing init uncessary * ⬆️ (pyproject.toml): upgrade crewai dependency to version 0.76.9 to include the latest features and bug fixes * ✅ (Simple Agent.spec.ts): update test assertion to check if the count of "print(" is greater than or equal to 1 for better test coverage. * [autofix.ci] apply automated fixes * proposed changes * [autofix.ci] apply automated fixes * add zep icon * [autofix.ci] apply automated fixes * 🔧 (model.py): remove unused import and method 'cast_vector_store' from LCVectorStoreComponent 🔧 (openai_tools.py): remove beta flag from OpenAIToolsAgentComponent 🔧 (tool_calling.py): remove beta flag from ToolCallingAgentComponent 🔧 (Vector Store RAG.json): remove 'cast_vector_store' method from starter projects 🔧 (styleUtils.ts): add missing icon 'WolframAlphaAPI' to nodeIconsLucide in styleUtils module * add langwatch and mem0 icon * change mem0 name to mem0ai * ✨ (filterSidebar.spec.ts): update test to use first() method to select the first element with the specified test ID ♻️ (filterSidebar.spec.ts): remove unnecessary code related to checking the checkbox state in the test 🔧 (generalBugs-shard-2.spec.ts): update test to select the correct element with the test ID "dataWebhook" instead of "dataWebhook Input" * ♻️ (test_vector_store_rag.py): remove redundant code setting "vector_store" value in both ingestion_graph and rag_graph functions to improve code readability and maintainability * [autofix.ci] apply automated fixes * updating json test * [autofix.ci] apply automated fixes * ⬆️ (pyproject.toml): downgrade crewai dependency version from 0.76.9 to 0.74.2 to resolve compatibility issues * 🐛 (generalBugs-shard-5.spec.ts): fix typo in test case for component name 🐛 (generalBugs-shard-9.spec.ts): update endX calculation to move 600 pixels to the right instead of 300 🐛 (generalBugs-shard-9.spec.ts): fix typo in test case for component name and update test steps to click "fit_view" button twice --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
This commit is contained in:
parent
6b3bf7b523
commit
29e484465c
182 changed files with 7279 additions and 516 deletions
|
|
@ -34,7 +34,7 @@ test("user must see on handle hover a tooltip with possibility connections", asy
|
|||
|
||||
await page.waitForTimeout(1000);
|
||||
await page
|
||||
.getByTestId("chainsRetrieval QA")
|
||||
.getByTestId("langchain_utilitiesRetrieval QA")
|
||||
.dragTo(page.locator('//*[@id="react-flow-id"]'));
|
||||
await page.mouse.up();
|
||||
await page.mouse.down();
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ test("user must see on handle click the possibility connections - LLMChain", asy
|
|||
|
||||
await page.waitForTimeout(500);
|
||||
|
||||
expect(await page.getByTestId("icon-ListFilter")).toBeVisible();
|
||||
expect(await page.getByTestId("icon-ListFilter").first()).toBeVisible();
|
||||
|
||||
await page
|
||||
.getByTestId("icon-X")
|
||||
|
|
@ -72,25 +72,23 @@ test("user must see on handle click the possibility connections - LLMChain", asy
|
|||
await expect(page.getByTestId("disclosure-models")).toBeVisible();
|
||||
await expect(page.getByTestId("disclosure-helpers")).toBeVisible();
|
||||
await expect(page.getByTestId("disclosure-agents")).toBeVisible();
|
||||
await expect(page.getByTestId("disclosure-chains")).not.toBeVisible();
|
||||
|
||||
await page.getByTestId("sidebar-options-trigger").click();
|
||||
await page.getByTestId("sidebar-legacy-switch").isVisible({ timeout: 5000 });
|
||||
await page.getByTestId("sidebar-legacy-switch").click();
|
||||
await expect(page.getByTestId("sidebar-legacy-switch")).toBeChecked();
|
||||
await page.getByTestId("sidebar-options-trigger").click();
|
||||
|
||||
await expect(page.getByTestId("disclosure-chains")).toBeVisible();
|
||||
await expect(page.getByTestId("disclosure-prototypes")).toBeVisible();
|
||||
|
||||
await expect(page.getByTestId("inputsChat Input")).toBeVisible();
|
||||
await expect(page.getByTestId("outputsChat Output")).toBeVisible();
|
||||
await expect(page.getByTestId("promptsPrompt")).toBeVisible();
|
||||
await expect(page.getByTestId("modelsAmazon Bedrock")).toBeVisible();
|
||||
await expect(page.getByTestId("helpersChat Memory")).toBeVisible();
|
||||
await expect(page.getByTestId("agentsCSVAgent")).toBeVisible();
|
||||
await expect(page.getByTestId("chainsConversationChain")).toBeVisible();
|
||||
await expect(page.getByTestId("prototypesConditional Router")).toBeVisible();
|
||||
await expect(page.getByTestId("memoriesChat Memory")).toBeVisible();
|
||||
await expect(page.getByTestId("langchain_utilitiesCSVAgent")).toBeVisible();
|
||||
await expect(
|
||||
page.getByTestId("langchain_utilitiesConversationChain"),
|
||||
).toBeVisible();
|
||||
|
||||
await expect(page.getByTestId("helpersCurrent Date")).toBeVisible();
|
||||
|
||||
|
|
@ -108,12 +106,12 @@ test("user must see on handle click the possibility connections - LLMChain", asy
|
|||
await expect(page.getByTestId("outputsChat Output")).not.toBeVisible();
|
||||
await expect(page.getByTestId("promptsPrompt")).not.toBeVisible();
|
||||
await expect(page.getByTestId("modelsAmazon Bedrock")).not.toBeVisible();
|
||||
await expect(page.getByTestId("helpersChat Memory")).not.toBeVisible();
|
||||
await expect(page.getByTestId("memoriesChat Memory")).not.toBeVisible();
|
||||
await expect(page.getByTestId("agentsTool Calling Agent")).not.toBeVisible();
|
||||
await expect(page.getByTestId("chainsConversationChain")).not.toBeVisible();
|
||||
await expect(
|
||||
page.getByTestId("prototypesConditional Router"),
|
||||
page.getByTestId("langchain_utilitiesConversationChain"),
|
||||
).not.toBeVisible();
|
||||
await expect(page.getByTestId("logicCondition")).not.toBeVisible();
|
||||
|
||||
await page.getByTestId("handle-apirequest-shownode-headers-left").click();
|
||||
|
||||
|
|
@ -121,15 +119,14 @@ test("user must see on handle click the possibility connections - LLMChain", asy
|
|||
await expect(page.getByTestId("disclosure-helpers")).toBeVisible();
|
||||
await expect(page.getByTestId("disclosure-vector stores")).toBeVisible();
|
||||
await expect(page.getByTestId("disclosure-prototypes")).toBeVisible();
|
||||
await expect(page.getByTestId("disclosure-retrievers")).toBeVisible();
|
||||
await expect(page.getByTestId("disclosure-embeddings")).toBeVisible();
|
||||
await expect(page.getByTestId("disclosure-tools")).toBeVisible();
|
||||
|
||||
await expect(page.getByTestId("dataAPI Request")).toBeVisible();
|
||||
await expect(page.getByTestId("helpersChat Memory")).toBeVisible();
|
||||
await expect(page.getByTestId("memoriesChat Memory")).toBeVisible();
|
||||
await expect(page.getByTestId("vectorstoresAstra DB")).toBeVisible();
|
||||
await expect(page.getByTestId("toolsSearch API")).toBeVisible();
|
||||
await expect(page.getByTestId("prototypesSub Flow")).not.toBeVisible();
|
||||
await expect(page.getByTestId("logicSub Flow")).not.toBeVisible();
|
||||
|
||||
await page.getByTestId("sidebar-options-trigger").click();
|
||||
await page.getByTestId("sidebar-beta-switch").isVisible({ timeout: 5000 });
|
||||
|
|
@ -137,24 +134,19 @@ test("user must see on handle click the possibility connections - LLMChain", asy
|
|||
await expect(page.getByTestId("sidebar-beta-switch")).toBeChecked();
|
||||
await page.getByTestId("sidebar-options-trigger").click();
|
||||
|
||||
await expect(page.getByTestId("prototypesSub Flow")).toBeVisible();
|
||||
await expect(page.getByTestId("logicSub Flow")).toBeVisible();
|
||||
|
||||
await expect(
|
||||
page.getByTestId("retrieversSelf Query Retriever"),
|
||||
).toBeVisible();
|
||||
await expect(page.getByTestId("helpersSplit Text")).toBeVisible();
|
||||
await expect(page.getByTestId("toolsSearch API")).toBeVisible();
|
||||
|
||||
await page.getByTestId("icon-X").first().click();
|
||||
|
||||
await expect(page.getByTestId("dataAPI Request")).not.toBeVisible();
|
||||
await expect(page.getByTestId("helpersChat Memory")).not.toBeVisible();
|
||||
await expect(page.getByTestId("memoriesChat Memory")).not.toBeVisible();
|
||||
await expect(page.getByTestId("vectorstoresAstra DB")).not.toBeVisible();
|
||||
await expect(page.getByTestId("toolsSearch API")).not.toBeVisible();
|
||||
await expect(page.getByTestId("prototypesSub Flow")).not.toBeVisible();
|
||||
await expect(
|
||||
page.getByTestId("retrieversSelf Query Retriever"),
|
||||
).not.toBeVisible();
|
||||
await expect(page.getByTestId("logicSub Flow")).not.toBeVisible();
|
||||
|
||||
await expect(page.getByTestId("helpersSplit Text")).not.toBeVisible();
|
||||
await expect(page.getByTestId("toolsSearch API")).not.toBeVisible();
|
||||
});
|
||||
|
|
|
|||
|
|
@ -98,7 +98,7 @@ test("user must be able to freeze a component", async ({ page }) => {
|
|||
await page.waitForTimeout(1000);
|
||||
|
||||
await page
|
||||
.getByTestId("helpersParse Data")
|
||||
.getByTestId("processingParse Data")
|
||||
.dragTo(page.locator('//*[@id="react-flow-id"]'));
|
||||
|
||||
await page.getByTestId("zoom_out").click();
|
||||
|
|
|
|||
|
|
@ -103,7 +103,7 @@ test("user must be able to stop a building", async ({ page }) => {
|
|||
// await page.waitForTimeout(1000);
|
||||
|
||||
await page
|
||||
.getByTestId("helpersParse Data")
|
||||
.getByTestId("processingParse Data")
|
||||
.dragTo(page.locator('//*[@id="react-flow-id"]'));
|
||||
|
||||
await page.getByTestId("zoom_out").click();
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import * as dotenv from "dotenv";
|
|||
import path from "path";
|
||||
import uaParser from "ua-parser-js";
|
||||
|
||||
test.skip("Simple Agent", async ({ page }) => {
|
||||
test("Simple Agent", async ({ page }) => {
|
||||
test.skip(
|
||||
!process?.env?.OPENAI_API_KEY,
|
||||
"OPENAI_API_KEY required to run this test",
|
||||
|
|
@ -148,5 +148,5 @@ test.skip("Simple Agent", async ({ page }) => {
|
|||
|
||||
pythonWords = await page.getByText("print(").count();
|
||||
|
||||
expect(pythonWords).toBe(1);
|
||||
expect(pythonWords).toBeGreaterThanOrEqual(1);
|
||||
});
|
||||
|
|
|
|||
|
|
@ -191,6 +191,11 @@ test("should create a flow with decision", async ({ page }) => {
|
|||
timeout: 30000,
|
||||
});
|
||||
await page.getByTestId("blank-flow").click();
|
||||
|
||||
await page.getByTestId("sidebar-options-trigger").click();
|
||||
await page.getByTestId("sidebar-legacy-switch").isVisible({ timeout: 5000 });
|
||||
await page.getByTestId("sidebar-legacy-switch").click();
|
||||
|
||||
//---------------------------------- CHAT INPUT
|
||||
await page.getByTestId("sidebar-search-input").click();
|
||||
await page.getByTestId("sidebar-search-input").fill("chat input");
|
||||
|
|
@ -234,25 +239,25 @@ test("should create a flow with decision", async ({ page }) => {
|
|||
await page.getByTestId("sidebar-search-input").fill("parse data");
|
||||
await page.waitForTimeout(500);
|
||||
await page
|
||||
.getByTestId("helpersParse Data")
|
||||
.getByTestId("processingParse Data")
|
||||
.dragTo(page.locator('//*[@id="react-flow-id"]'));
|
||||
await page
|
||||
.getByTestId("helpersParse Data")
|
||||
.getByTestId("processingParse Data")
|
||||
.dragTo(page.locator('//*[@id="react-flow-id"]'));
|
||||
//---------------------------------- PASS
|
||||
await page.getByTestId("sidebar-search-input").click();
|
||||
await page.getByTestId("sidebar-search-input").fill("pass");
|
||||
await page.waitForTimeout(500);
|
||||
await page
|
||||
.getByTestId("prototypesPass")
|
||||
.getByTestId("logicPass")
|
||||
.dragTo(page.locator('//*[@id="react-flow-id"]'));
|
||||
await page.waitForTimeout(500);
|
||||
await page
|
||||
.getByTestId("prototypesPass")
|
||||
.getByTestId("logicPass")
|
||||
.dragTo(page.locator('//*[@id="react-flow-id"]'));
|
||||
await page.waitForTimeout(500);
|
||||
await page
|
||||
.getByTestId("prototypesPass")
|
||||
.getByTestId("logicPass")
|
||||
.dragTo(page.locator('//*[@id="react-flow-id"]'));
|
||||
//---------------------------------- PROMPT
|
||||
await page.getByTestId("sidebar-search-input").click();
|
||||
|
|
@ -273,7 +278,7 @@ test("should create a flow with decision", async ({ page }) => {
|
|||
await page.getByTestId("sidebar-search-input").fill("conditional router");
|
||||
await page.waitForTimeout(500);
|
||||
await page
|
||||
.getByTestId("prototypesConditional Router")
|
||||
.getByTestId("logicIf-Else")
|
||||
.dragTo(page.locator('//*[@id="react-flow-id"]'));
|
||||
//---------------------------------- CHAT OUTPUT
|
||||
await page.getByTestId("sidebar-search-input").click();
|
||||
|
|
@ -293,7 +298,7 @@ test("should create a flow with decision", async ({ page }) => {
|
|||
await page.waitForTimeout(500);
|
||||
await moveElementByX(page, "Chat Output", 700, 0);
|
||||
await page.waitForTimeout(500);
|
||||
await moveElementByX(page, "Conditional Router", 1100, 0);
|
||||
await moveElementByX(page, "If-Else", 1100, 0);
|
||||
await page.waitForTimeout(500);
|
||||
await page.getByTestId("fit_view").click();
|
||||
await moveElementByX(page, "OpenAI", 980, 0);
|
||||
|
|
@ -384,7 +389,7 @@ test("should create a flow with decision", async ({ page }) => {
|
|||
.nth(0)
|
||||
.click();
|
||||
await page
|
||||
.getByTestId("handle-conditionalrouter-shownode-input text-left")
|
||||
.getByTestId("handle-conditionalrouter-shownode-text input-left")
|
||||
.nth(0)
|
||||
.click();
|
||||
await page.getByTestId("popover-anchor-input-match_text").fill("TRUE");
|
||||
|
|
@ -405,7 +410,7 @@ test("should create a flow with decision", async ({ page }) => {
|
|||
await page.getByTestId("showignored_message").last().click();
|
||||
await page.getByText("Close").last().click();
|
||||
await page
|
||||
.getByTestId("handle-conditionalrouter-shownode-true route-right")
|
||||
.getByTestId("handle-conditionalrouter-shownode-true-right")
|
||||
.nth(0)
|
||||
.click();
|
||||
await page
|
||||
|
|
@ -413,7 +418,7 @@ test("should create a flow with decision", async ({ page }) => {
|
|||
.nth(1)
|
||||
.click();
|
||||
await page
|
||||
.getByTestId("handle-conditionalrouter-shownode-false route-right")
|
||||
.getByTestId("handle-conditionalrouter-shownode-false-right")
|
||||
.nth(0)
|
||||
.click();
|
||||
await page
|
||||
|
|
|
|||
|
|
@ -133,7 +133,7 @@ test("user must be able to check similarity between embedding texts", async ({
|
|||
// await page.waitForTimeout(1000);
|
||||
|
||||
await page
|
||||
.getByTestId("helpersParse Data")
|
||||
.getByTestId("processingParse Data")
|
||||
.dragTo(page.locator('//*[@id="react-flow-id"]'));
|
||||
|
||||
await page.getByTestId("zoom_out").click();
|
||||
|
|
@ -173,7 +173,7 @@ test("user must be able to check similarity between embedding texts", async ({
|
|||
// await page.waitForTimeout(1000);
|
||||
|
||||
await page
|
||||
.getByTestId("helpersFilter Data")
|
||||
.getByTestId("processingFilter Data")
|
||||
.dragTo(page.locator('//*[@id="react-flow-id"]'));
|
||||
|
||||
await page.getByTestId("zoom_out").click();
|
||||
|
|
@ -249,7 +249,7 @@ test("user must be able to check similarity between embedding texts", async ({
|
|||
//connection 1
|
||||
const openAiEmbeddingOutput_0 = await page
|
||||
.getByTestId("handle-openaiembeddings-shownode-embeddings-right")
|
||||
.nth(2);
|
||||
.nth(0);
|
||||
await openAiEmbeddingOutput_0.hover();
|
||||
await page.mouse.down();
|
||||
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@ test("should be able to see output preview from grouped components and connect c
|
|||
await page.mouse.up();
|
||||
|
||||
await page
|
||||
.getByTestId("helpersCombine Text")
|
||||
.getByTestId("processingCombine Text")
|
||||
.dragTo(page.locator('//*[@id="react-flow-id"]'));
|
||||
|
||||
await page
|
||||
|
|
@ -88,7 +88,7 @@ test("should be able to see output preview from grouped components and connect c
|
|||
await page.mouse.up();
|
||||
|
||||
await page
|
||||
.getByTestId("helpersCombine Text")
|
||||
.getByTestId("processingCombine Text")
|
||||
.dragTo(page.locator('//*[@id="react-flow-id"]'));
|
||||
|
||||
await page
|
||||
|
|
|
|||
|
|
@ -41,6 +41,10 @@ test("memory should work as expect", async ({ page }) => {
|
|||
await page.getByTestId("sidebar-search-input").click();
|
||||
await page.getByTestId("sidebar-search-input").fill("chat memory");
|
||||
|
||||
await page.getByTestId("sidebar-options-trigger").click();
|
||||
await page.getByTestId("sidebar-legacy-switch").isVisible({ timeout: 5000 });
|
||||
await page.getByTestId("sidebar-legacy-switch").click();
|
||||
|
||||
// Locate the canvas element
|
||||
const canvas = page.locator("#react-flow-id"); // Update the selector if needed
|
||||
|
||||
|
|
@ -54,8 +58,8 @@ test("memory should work as expect", async ({ page }) => {
|
|||
const startX = canvasBox.x + canvasBox.width / 2;
|
||||
const startY = canvasBox.y + canvasBox.height / 2;
|
||||
|
||||
// End point (move 300 pixels to the right)
|
||||
const endX = startX + 300;
|
||||
// End point (move 600 pixels to the right)
|
||||
const endX = startX + 600;
|
||||
const endY = startY;
|
||||
|
||||
// Hover over the canvas to focus it
|
||||
|
|
@ -72,7 +76,7 @@ test("memory should work as expect", async ({ page }) => {
|
|||
await page.mouse.up();
|
||||
|
||||
await page
|
||||
.getByTestId("helpersChat Memory")
|
||||
.getByTestId("memoriesChat Memory")
|
||||
.first()
|
||||
.dragTo(page.locator('//*[@id="react-flow-id"]'));
|
||||
|
||||
|
|
@ -123,9 +127,12 @@ AI:
|
|||
await page.getByText("Edit Prompt", { exact: true }).click();
|
||||
await page.getByText("Check & Save").last().click();
|
||||
|
||||
await page.getByTestId("fit_view").click();
|
||||
await page.getByTestId("fit_view").click();
|
||||
|
||||
//connection 1
|
||||
const elementChatMemoryOutput = await page
|
||||
.getByTestId("handle-memory-shownode-messages (text)-right")
|
||||
.getByTestId("handle-memory-shownode-text-right")
|
||||
.first();
|
||||
await elementChatMemoryOutput.hover();
|
||||
await page.mouse.down();
|
||||
|
|
|
|||
|
|
@ -36,6 +36,10 @@ test("CodeAreaModalComponent", async ({ page }) => {
|
|||
|
||||
await page.waitForTimeout(1000);
|
||||
|
||||
await page.getByTestId("sidebar-options-trigger").click();
|
||||
await page.getByTestId("sidebar-legacy-switch").isVisible({ timeout: 5000 });
|
||||
await page.getByTestId("sidebar-legacy-switch").click();
|
||||
|
||||
await page
|
||||
.getByTestId("prototypesPython Function")
|
||||
.dragTo(page.locator('//*[@id="react-flow-id"]'));
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ test.skip("should be able to upload a file", async ({ page }) => {
|
|||
await page.getByTestId("sidebar-search-input").click();
|
||||
await page.getByTestId("sidebar-search-input").fill("parse data");
|
||||
await page
|
||||
.getByTestId("helpersParse Data")
|
||||
.getByTestId("processingParse Data")
|
||||
.first()
|
||||
.dragTo(page.locator('//*[@id="react-flow-id"]'));
|
||||
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ test("user must see on handle click the possibility connections - RetrievalQA",
|
|||
|
||||
await page.waitForTimeout(1000);
|
||||
await page
|
||||
.getByTestId("chainsRetrieval QA")
|
||||
.getByTestId("langchain_utilitiesRetrieval QA")
|
||||
.dragTo(page.locator('//*[@id="react-flow-id"]'));
|
||||
await page.mouse.up();
|
||||
await page.mouse.down();
|
||||
|
|
@ -84,11 +84,12 @@ test("user must see on handle click the possibility connections - RetrievalQA",
|
|||
"disclosure-vector stores",
|
||||
"disclosure-embeddings",
|
||||
"disclosure-agents",
|
||||
"disclosure-chains",
|
||||
"disclosure-memories",
|
||||
"disclosure-prototypes",
|
||||
"disclosure-retrievers",
|
||||
"disclosure-text splitters",
|
||||
"disclosure-logic",
|
||||
"disclosure-tools",
|
||||
"disclosure-bundles-langchain",
|
||||
"disclosure-bundles-assemblyai",
|
||||
"disclosure-bundles-datastax",
|
||||
];
|
||||
|
||||
const elementTestIds = [
|
||||
|
|
@ -96,15 +97,15 @@ test("user must see on handle click the possibility connections - RetrievalQA",
|
|||
"outputsChat Output",
|
||||
"dataAPI Request",
|
||||
"modelsAmazon Bedrock",
|
||||
"helpersChat Memory",
|
||||
"memoriesChat Memory",
|
||||
"vectorstoresAstra DB",
|
||||
"embeddingsAmazon Bedrock Embeddings",
|
||||
"agentsTool Calling Agent",
|
||||
"chainsConversationChain",
|
||||
"langchain_utilitiesTool Calling Agent",
|
||||
"langchain_utilitiesConversationChain",
|
||||
"memoriesAstra DB Chat Memory",
|
||||
"prototypesConditional Router",
|
||||
"retrieversSelf Query Retriever",
|
||||
"textsplittersCharacterTextSplitter",
|
||||
"logicCondition",
|
||||
"langchain_utilitiesSelf Query Retriever",
|
||||
"langchain_utilitiesCharacterTextSplitter",
|
||||
];
|
||||
|
||||
await Promise.all(
|
||||
|
|
@ -179,6 +180,6 @@ test("user must see on handle click the possibility connections - RetrievalQA",
|
|||
|
||||
await expect(page.getByTestId("disclosure-helpers")).toBeVisible();
|
||||
await expect(page.getByTestId("disclosure-agents")).toBeVisible();
|
||||
await expect(page.getByTestId("disclosure-chains")).toBeVisible();
|
||||
await expect(page.getByTestId("disclosure-prototypes")).toBeVisible();
|
||||
await expect(page.getByTestId("disclosure-memories")).toBeVisible();
|
||||
await expect(page.getByTestId("disclosure-logic")).toBeVisible();
|
||||
});
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ test("user should be able to use ComposIO without getting api_key error", async
|
|||
|
||||
await page.waitForTimeout(1000);
|
||||
|
||||
const modelElement = await page.getByTestId("toolkitsComposio Tools");
|
||||
const modelElement = await page.getByTestId("composioComposio Tools");
|
||||
const targetElement = await page.locator('//*[@id="react-flow-id"]');
|
||||
await modelElement.dragTo(targetElement);
|
||||
|
||||
|
|
@ -102,7 +102,9 @@ test("user should be able to use connect tools", async ({ page }) => {
|
|||
|
||||
await page.waitForTimeout(1000);
|
||||
|
||||
modelElement = await page.getByTestId("agentsTool Calling Agent");
|
||||
modelElement = await page.getByTestId(
|
||||
"langchain_utilitiesTool Calling Agent",
|
||||
);
|
||||
targetElement = await page.locator('//*[@id="react-flow-id"]');
|
||||
await modelElement.dragTo(targetElement);
|
||||
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ test("should use webhook component on API", async ({ page }) => {
|
|||
await page.waitForTimeout(1000);
|
||||
|
||||
await page
|
||||
.getByTestId("dataWebhook Input")
|
||||
.getByTestId("dataWebhook")
|
||||
.dragTo(page.locator('//*[@id="react-flow-id"]'));
|
||||
await page.mouse.up();
|
||||
await page.mouse.down();
|
||||
|
|
@ -73,6 +73,4 @@ test("should use webhook component on API", async ({ page }) => {
|
|||
expect(clipboardContent).toContain("curl -X POST");
|
||||
expect(clipboardContent).toContain("webhook");
|
||||
await page.getByRole("tab", { name: "Tweaks" }).click();
|
||||
// await page.getByText("Webhook Input").isVisible();
|
||||
// await page.getByText("Webhook Input").click();
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue