refactor: parameter component, edit node modal and api modal (#2928)
* changed column defs to receive handleOnNewValue and use it to change Advanced variable * Exported function isTargetHandleConnected * Refactored types of setNodeClass * Exported type of handleOnNewValue * Refactored useHandleNodeClass to only handle changes to node data * Refactored toggleCellRender to handle advanced values by itself with the handleOnNewValue * changed setNodeClass types and disabled hook * changed handleNodeClass on parametercomponent * changed handleNodeClass on the two components that used it * refactor: Update handleNodeClass to accept newNodeClass and type only * Refactor EditNodeModal component to use new handleNodeClass and columnDefs * Changed columnDefs to receive new handleNodeClass and not receive useless parameters * changed cellTypeStr to strRender * Refactored inputFileComponent to use the new handleOnNewValue * Refactored keypairList to convert values on the fly * added parameterRenderComponent that renders all parameters in one place * Exported parameterRenderComponent * Changed tableNodeCellRender to use ParameterRenderComponent * changed parameterredercomponent to receive name * changed strrendercomponent to receive name * changed nodecellrender to pass name and to check if value is undefined before assigning on templateData * chore: Refactor use-handle-new-value to handle undefined values in changes * Used ParameterRenderComponent at parameterComponent * Refactored parameterRenderComponent to include refresh button * Created refresh parameter component * Added nodeId to parameterrendercomponent call * Removed unused variable * Refactored refreshButton * Fixed parameters not showing when they dont have a value * Created a tweakComplnent that renders the tweak individually, with the same table as the EditNode * Created tweaks component, that renders all tweaks * Changed tableNodeCellRender to pass setNode as well * changed handleOnNewValue to use custom setNode if specified * added editNodeComponent that handles the table and rowData and columnDefs * changed editNodeModal to use editNodeComponent instead of table * changed columndefs type to handle setNode and hideVisibility optional parameters * changed useRowData to not use myData, and just use nodeClass * Changed codeTabsPropsType tweaks property to include only the ncessary * changed codeTabsComponent to use TweaksComponent and handle an internal nodes state * changed apiModal to handle the tweaks build by finding the differences between old and current node * fix bug on API modal that refresh tweaks table all the time * Created new tweaks store type * Added tweaks store with all of the logic needed to get the tweaks on the API page * refactored TweakComponent to hold an temporary state to prevent the table from rerendering * Added TweakComponent into TweaksComponent * Removed external state on tableAdvancedToggle, making every state come from the Stores * Removed external state from TableNodeCellRender and added isTweaks to choose which store to use * Added SetNode type on HandleOnNewValue * Added custom setNode to handleNodeClass * Removed unused logic from apiModal * removed unused old code * Changed type of getChangesTypes * Transformed string into object on get codes * Changed getNodesWithDefaultValue to return nodes that will appear on Tweaks, as well as just the allowed parameters * added hasTweaks to tabs * added check of template keys to update the local nodeClass state, allowing the table to be updated just when the number of parameters changes * passed isTweaks to columnDefs * removed unused state and passed isTweaks to value getters * Removed unused state * updated tabsArrayType with hasTweaks and removed unused types * Added local nodes tweaks state to the codetabscomponent and refactored conditions of display * removed unused console.log * changed advanced toggle to use parameterid given by the value * changed nodecellrender to use parameter id given by the value * passed parameter id by value to the renderers * removed nodeClass from columnDefs definition * Fixed isTargetHandleConnected returning error if field is undefined * Fix performance issues on edit node modal * Fixed scroll overflow issues on tweaksComponent * Revert "Revert "refactor: update template api, handleonnewvalue and handlenodeclass hooks (#2628)"" This reverts commit 236ae82cabba2fa1128f498d781099facd222b57. * 📝 (tweaksTest.spec.ts): remove redundant code and improve readability by simplifying the interaction with elements in the test case * added custom id for tests * ✨ (frontend): Add unique id prop to input components for better testability and accessibility. ✨ (Hierarchical Tasks Agent.spec.ts): Update dropdown element IDs to improve clarity and consistency ✨ (Memory Chatbot.spec.ts): Update dropdown element IDs to improve clarity and consistency ✨ (Sequential Tasks Agent.spec.ts): Update dropdown element IDs to improve clarity and consistency ✨ (chatInputOutputUser-shard-0.spec.ts): Update dropdown element IDs to improve clarity and consistency ✨ (chatInputOutputUser-shard-1.spec.ts): Update dropdown element IDs to improve clarity and consistency ✨ (chatInputOutputUser-shard-2.spec.ts): Update dropdown element IDs to improve clarity and consistency ✨ (decisionFlow.spec.ts): Update input list element IDs to improve clarity and consistency ✨ (decisionFlow.spec.ts): Update prompt area element IDs to improve clarity and consistency ✨ (decisionFlow.spec.ts): Update dropdown element IDs to improve clarity and consistency ✨ (freeze-path.spec.ts): Update dropdown element IDs to improve clarity and consistency ✨ (generalBugs-shard-0.spec.ts): Update dropdown element IDs to improve clarity and consistency ✨ (generalBugs-shard-1.spec.ts): Update dropdown element IDs to improve clarity and consistency ✨ (generalBugs-shard-3.spec.ts): Update dropdown element IDs to improve clarity and consistency 🔧 (logs.spec.ts, textInputOutput.spec.ts): update dropdown test selectors to match changes in the frontend codebase * Fixed prompt not holding the value when validating * Fixed range spec on int component * Fixed OpenAI Model max tokens range spec * ✨ (dropdownComponent.spec.ts): Update dropdown test cases to use more descriptive test IDs for better clarity and maintainability 📝 (fileUploadComponent.spec.ts): Add explicit wait for "Run Flow" button to ensure it is loaded before clicking 📝 (folders.spec.ts): Update file path in readFileSync function to use an absolute path for better reliability 📝 (freeze-path.spec.ts): Refactor test code to remove commented out code and improve readability by using more descriptive test IDs and removing unnecessary code snippets ✨ (inputListComponent.spec.ts): Update test file to use consistent naming convention for input elements in the InputListComponent 📝 (intComponent.spec.ts): Refactor test file to use consistent naming convention for input elements in the IntComponent ✨ (nestedComponent.spec.ts): Update test steps and interactions for nestedComponent to improve test coverage and accuracy. 📝 (promptModalComponent.spec.ts): Update test selectors for prompt modal component to improve consistency and readability 📝 (textAreaModalComponent.spec.ts): Update test selectors for text area modal component to improve consistency and readability 📝 (toggleComponent.spec.ts): Update test selectors for toggle component to improve consistency and readability * 🐛 (intComponent.spec.ts): fix incorrect value comparison in test for IntComponent 🐛 (intComponent.spec.ts): fix missing test step for clicking on a specific element in IntComponent test * 📝 (Vector Store.spec.ts): increase timeout for waiting for "built successfully" text to improve test reliability and prevent false negatives * Fixed folders test --------- Co-authored-by: anovazzi1 <otavio2204@gmail.com> Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org> Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
This commit is contained in:
parent
83910866e9
commit
a9863a050e
80 changed files with 2026 additions and 2923 deletions
|
|
@ -54,7 +54,7 @@ test("Basic Prompting (Hello, World)", async ({ page }) => {
|
|||
.getByTestId("popover-anchor-input-api_key")
|
||||
.fill(process.env.OPENAI_API_KEY ?? "");
|
||||
|
||||
await page.getByTestId("dropdown-model_name").click();
|
||||
await page.getByTestId("dropdown_str_model_name").click();
|
||||
await page.getByTestId("gpt-4o-1-option").click();
|
||||
|
||||
await page.waitForTimeout(2000);
|
||||
|
|
|
|||
|
|
@ -51,18 +51,18 @@ test("Blog Writer", async ({ page }) => {
|
|||
.getByTestId("popover-anchor-input-api_key")
|
||||
.fill(process.env.OPENAI_API_KEY ?? "");
|
||||
|
||||
await page.getByTestId("dropdown-model_name").click();
|
||||
await page.getByTestId("dropdown_str_model_name").click();
|
||||
await page.getByTestId("gpt-4o-1-option").click();
|
||||
|
||||
await page.waitForTimeout(2000);
|
||||
await page
|
||||
.getByTestId("input-list-input_urls-0")
|
||||
.getByTestId("inputlist_str_urls_0")
|
||||
.nth(0)
|
||||
.fill(
|
||||
"https://www.natgeokids.com/uk/discover/animals/sea-life/turtle-facts/",
|
||||
);
|
||||
await page
|
||||
.getByTestId("input-list-input_urls-1")
|
||||
.getByTestId("inputlist_str_urls_1")
|
||||
.nth(0)
|
||||
.fill("https://www.originaldiving.com/blog/top-ten-turtle-facts");
|
||||
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ test("Complex Agent", async ({ page }) => {
|
|||
.nth(i)
|
||||
.fill(process.env.OPENAI_API_KEY ?? "");
|
||||
|
||||
await page.getByTestId("dropdown-model_name").nth(i).click();
|
||||
await page.getByTestId("dropdown_str_model_name").nth(i).click();
|
||||
await page.getByTestId("gpt-4o-1-option").last().click();
|
||||
|
||||
await page.waitForTimeout(1000);
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ test("Document QA", async ({ page }) => {
|
|||
.getByTestId("popover-anchor-input-api_key")
|
||||
.fill(process.env.OPENAI_API_KEY ?? "");
|
||||
|
||||
await page.getByTestId("dropdown-model_name").click();
|
||||
await page.getByTestId("dropdown_str_model_name").click();
|
||||
await page.getByTestId("gpt-4o-1-option").click();
|
||||
|
||||
await page.waitForTimeout(2000);
|
||||
|
|
|
|||
|
|
@ -65,12 +65,12 @@ test("Hierarchical Tasks Agent", async ({ page }) => {
|
|||
.nth(1)
|
||||
.fill(process.env.OPENAI_API_KEY ?? "");
|
||||
|
||||
await page.getByTestId("dropdown-model_name").first().click();
|
||||
await page.getByTestId("dropdown_str_model_name").first().click();
|
||||
await page.getByTestId("gpt-4o-1-option").first().click();
|
||||
|
||||
await page.waitForTimeout(2000);
|
||||
|
||||
await page.getByTestId("dropdown-model_name").last().click();
|
||||
await page.getByTestId("dropdown_str_model_name").last().click();
|
||||
await page.getByTestId("gpt-4o-1-option").last().click();
|
||||
|
||||
await page.waitForTimeout(2000);
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ test("Memory Chatbot", async ({ page }) => {
|
|||
.getByTestId("popover-anchor-input-api_key")
|
||||
.fill(process.env.OPENAI_API_KEY ?? "");
|
||||
|
||||
await page.getByTestId("dropdown-model_name").click();
|
||||
await page.getByTestId("dropdown_str_model_name").click();
|
||||
await page.getByTestId("gpt-4o-1-option").click();
|
||||
|
||||
await page.waitForTimeout(2000);
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@ test("Sequential Tasks Agent", async ({ page }) => {
|
|||
.first()
|
||||
.fill(process.env.OPENAI_API_KEY ?? "");
|
||||
|
||||
await page.getByTestId("dropdown-model_name").click();
|
||||
await page.getByTestId("dropdown_str_model_name").click();
|
||||
await page.getByTestId("gpt-4o-1-option").click();
|
||||
|
||||
await page.waitForTimeout(2000);
|
||||
|
|
|
|||
|
|
@ -96,21 +96,21 @@ test("Vector Store RAG", async ({ page }) => {
|
|||
await page.waitForTimeout(2000);
|
||||
|
||||
await page.getByTestId("button_run_astra db").first().click();
|
||||
await page.waitForSelector("text=built successfully", { timeout: 30000 });
|
||||
await page.waitForSelector("text=built successfully", { timeout: 60000 * 2 });
|
||||
|
||||
await page.getByText("built successfully").last().click({
|
||||
timeout: 30000,
|
||||
});
|
||||
|
||||
await page.getByTestId("button_run_chat output").click();
|
||||
await page.waitForSelector("text=built successfully", { timeout: 30000 });
|
||||
await page.waitForSelector("text=built successfully", { timeout: 60000 * 2 });
|
||||
|
||||
await page.getByText("built successfully").last().click({
|
||||
timeout: 30000,
|
||||
});
|
||||
|
||||
await page.getByTestId("button_run_astra db").last().click();
|
||||
await page.waitForSelector("text=built successfully", { timeout: 30000 });
|
||||
await page.waitForSelector("text=built successfully", { timeout: 60000 * 2 });
|
||||
|
||||
await page.getByText("built successfully").last().click({
|
||||
timeout: 30000,
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ test("user must be able to send an image on chat", async ({ page }) => {
|
|||
.getByTestId("popover-anchor-input-api_key")
|
||||
.fill(process.env.OPENAI_API_KEY ?? "");
|
||||
|
||||
await page.getByTestId("dropdown-model_name").click();
|
||||
await page.getByTestId("dropdown_str_model_name").click();
|
||||
await page.getByTestId("gpt-4o-1-option").click();
|
||||
|
||||
await page.waitForSelector("text=Chat Input", { timeout: 30000 });
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ test("user must be able to see output inspection", async ({ page }) => {
|
|||
.getByTestId("popover-anchor-input-api_key")
|
||||
.fill(process.env.OPENAI_API_KEY ?? "");
|
||||
|
||||
await page.getByTestId("dropdown-model_name").click();
|
||||
await page.getByTestId("dropdown_str_model_name").click();
|
||||
await page.getByTestId("gpt-4o-1-option").click();
|
||||
|
||||
await page.waitForTimeout(2000);
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ test("user must interact with chat with Input/Output", async ({ page }) => {
|
|||
.getByTestId("popover-anchor-input-api_key")
|
||||
.fill(process.env.OPENAI_API_KEY ?? "");
|
||||
|
||||
await page.getByTestId("dropdown-model_name").click();
|
||||
await page.getByTestId("dropdown_str_model_name").click();
|
||||
await page.getByTestId("gpt-4o-1-option").click();
|
||||
|
||||
await page.waitForTimeout(2000);
|
||||
|
|
@ -86,7 +86,7 @@ test("user must interact with chat with Input/Output", async ({ page }) => {
|
|||
await page.keyboard.press("Escape");
|
||||
|
||||
await page
|
||||
.getByTestId("textarea-input_value")
|
||||
.getByTestId("textarea_str_input_value")
|
||||
.nth(0)
|
||||
.fill(
|
||||
"testtesttesttesttesttestte;.;.,;,.;,.;.,;,..,;;;;;;;;;;;;;;;;;;;;;,;.;,.;,.,;.,;.;.,~~çççççççççççççççççççççççççççççççççççççççisdajfdasiopjfaodisjhvoicxjiovjcxizopjviopasjioasfhjaiohf23432432432423423sttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttestççççççççççççççççççççççççççççççççç,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,!",
|
||||
|
|
|
|||
|
|
@ -80,12 +80,14 @@ test("should create a flow with decision", async ({ page }) => {
|
|||
await page.getByTestId("input-list-plus-btn_texts-0").click();
|
||||
|
||||
await page
|
||||
.getByTestId("input-list-input_texts-0")
|
||||
.getByTestId("inputlist_str_texts_0")
|
||||
.first()
|
||||
.fill("big news! langflow 1.0 is out");
|
||||
await page
|
||||
.getByTestId("input-list-input_texts-1")
|
||||
.getByTestId("inputlist_str_texts_1")
|
||||
.first()
|
||||
.fill("uhul that movie was awesome");
|
||||
await page.getByTestId("input-list-input_texts-2").fill("love you babe");
|
||||
await page.getByTestId("inputlist_str_texts_2").first().fill("love you babe");
|
||||
|
||||
await page.getByTitle("zoom out").click();
|
||||
await page.getByTitle("zoom out").click();
|
||||
|
|
@ -108,15 +110,12 @@ test("should create a flow with decision", async ({ page }) => {
|
|||
await page.getByTestId("input-list-plus-btn_texts-0").last().click();
|
||||
await page.getByTestId("input-list-plus-btn_texts-0").last().click();
|
||||
|
||||
await page.getByTestId("inputlist_str_texts_0").last().fill("oh my cat died");
|
||||
await page
|
||||
.getByTestId("input-list-input_texts-0")
|
||||
.last()
|
||||
.fill("oh my cat died");
|
||||
await page
|
||||
.getByTestId("input-list-input_texts-1")
|
||||
.getByTestId("inputlist_str_texts_1")
|
||||
.last()
|
||||
.fill("No one loves me");
|
||||
await page.getByTestId("input-list-input_texts-2").last().fill("not cool..");
|
||||
await page.getByTestId("inputlist_str_texts_2").last().fill("not cool..");
|
||||
|
||||
await page.getByPlaceholder("Search").click();
|
||||
await page.getByPlaceholder("Search").fill("parse data");
|
||||
|
|
@ -348,8 +347,8 @@ test("should create a flow with decision", async ({ page }) => {
|
|||
await page.mouse.up();
|
||||
|
||||
//edit prompt
|
||||
await page.getByTestId("prompt-input-template").first().click();
|
||||
await page.getByTestId("modal-prompt-input-template").first().fill(`
|
||||
await page.getByTestId("promptarea_prompt_template").first().click();
|
||||
await page.getByTestId("modal-promptarea_prompt_template").first().fill(`
|
||||
{Condition}
|
||||
|
||||
Answer with either TRUE or FALSE (and nothing else).
|
||||
|
|
@ -551,7 +550,7 @@ AI:
|
|||
.getByTestId("popover-anchor-input-api_key")
|
||||
.fill(process.env.OPENAI_API_KEY ?? "");
|
||||
|
||||
await page.getByTestId("dropdown-model_name").click();
|
||||
await page.getByTestId("dropdown_str_model_name").click();
|
||||
await page.getByTestId("gpt-4o-1-option").click();
|
||||
|
||||
await page.getByLabel("fit view").click();
|
||||
|
|
@ -570,7 +569,7 @@ AI:
|
|||
await page.getByTestId("icon-LucideSend").click();
|
||||
|
||||
await page.waitForSelector("text=🥲", {
|
||||
timeout: 100000,
|
||||
timeout: 1200000,
|
||||
});
|
||||
|
||||
await page.getByText("🥲").isVisible();
|
||||
|
|
|
|||
|
|
@ -46,22 +46,24 @@ test("dropDownComponent", async ({ page }) => {
|
|||
await page.getByTitle("zoom out").click();
|
||||
await page.getByTestId("title-Amazon Bedrock").click();
|
||||
|
||||
await page.getByTestId("dropdown-model_id").click();
|
||||
await page.getByTestId("dropdown_str_model_id").click();
|
||||
|
||||
await page.getByTestId("value-dropdown-dropdown-model_id").click();
|
||||
await page
|
||||
.getByTestId("anthropic.claude-3-haiku-20240307-v1:0-10-option")
|
||||
.click();
|
||||
|
||||
let value = await page
|
||||
.getByTestId("value-dropdown-dropdown-model_id")
|
||||
.getByTestId("anthropic.claude-3-haiku-20240307-v1:0-10-option")
|
||||
.first()
|
||||
.innerText();
|
||||
if (value !== "anthropic.claude-3-haiku-20240307-v1:0") {
|
||||
expect(false).toBeTruthy();
|
||||
}
|
||||
|
||||
await page.getByTestId("dropdown-model_id").click();
|
||||
await page.getByTestId("dropdown_str_model_id").click();
|
||||
await page.getByText("anthropic.claude-v2").last().click();
|
||||
|
||||
value = await page.getByTestId("dropdown-model_id").innerText();
|
||||
value = await page.getByTestId("dropdown_str_model_id").innerText();
|
||||
if (value !== "anthropic.claude-v2:1") {
|
||||
expect(false).toBeTruthy();
|
||||
}
|
||||
|
|
@ -71,7 +73,9 @@ test("dropDownComponent", async ({ page }) => {
|
|||
await page.getByTestId("more-options-modal").click();
|
||||
await page.getByTestId("edit-button-modal").click();
|
||||
|
||||
value = await page.getByTestId("dropdown-edit-model_id").innerText();
|
||||
value = await page
|
||||
.getByTestId("value-dropdown-dropdown_str_edit_model_id")
|
||||
.innerText();
|
||||
if (value !== "anthropic.claude-v2:1") {
|
||||
expect(false).toBeTruthy();
|
||||
}
|
||||
|
|
@ -136,17 +140,21 @@ test("dropDownComponent", async ({ page }) => {
|
|||
await page.locator('//*[@id="showmodel_id"]').isChecked(),
|
||||
).toBeTruthy();
|
||||
|
||||
await page.getByTestId("dropdown-edit-model_id").click();
|
||||
await page.getByTestId("value-dropdown-dropdown_str_edit_model_id").click();
|
||||
await page.getByText("cohere").last().click();
|
||||
|
||||
value = await page.getByTestId("dropdown-edit-model_id").innerText();
|
||||
value = await page
|
||||
.getByTestId("value-dropdown-dropdown_str_edit_model_id")
|
||||
.innerText();
|
||||
if (value !== "cohere.embed-multilingual-v3") {
|
||||
expect(false).toBeTruthy();
|
||||
}
|
||||
|
||||
await page.getByText("Close").last().click();
|
||||
|
||||
value = await page.getByTestId("dropdown-model_id").innerText();
|
||||
value = await page
|
||||
.getByTestId("value-dropdown-dropdown_str_model_id")
|
||||
.innerText();
|
||||
if (value !== "cohere.embed-multilingual-v3") {
|
||||
expect(false).toBeTruthy();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -147,8 +147,15 @@ test("should be able to upload a file", async ({ page }) => {
|
|||
await page.mouse.up();
|
||||
|
||||
await page.getByText("Playground", { exact: true }).click();
|
||||
|
||||
await page.waitForSelector("text=Run Flow", {
|
||||
timeout: 30000,
|
||||
});
|
||||
|
||||
await page.getByText("Run Flow", { exact: true }).click();
|
||||
|
||||
await page.waitForTimeout(3000);
|
||||
|
||||
const textOutput = await page.getByPlaceholder("Empty").first().inputValue();
|
||||
|
||||
expect(textOutput).toContain("this is a test file");
|
||||
|
|
|
|||
|
|
@ -8,146 +8,6 @@ test("user must be able to freeze a path", async ({ page }) => {
|
|||
"OPENAI_API_KEY required to run this test",
|
||||
);
|
||||
|
||||
// const codeOpenAI = `
|
||||
// import operator
|
||||
// from functools import reduce
|
||||
|
||||
// from langchain_openai import ChatOpenAI
|
||||
// from pydantic.v1 import SecretStr
|
||||
|
||||
// from langflow.base.constants import STREAM_INFO_TEXT
|
||||
// from langflow.base.models.model import LCModelComponent
|
||||
// from langflow.base.models.openai_constants import MODEL_NAMES
|
||||
// from langflow.field_typing import LanguageModel
|
||||
// from langflow.inputs import (
|
||||
// BoolInput,
|
||||
// DictInput,
|
||||
// DropdownInput,
|
||||
// FloatInput,
|
||||
// IntInput,
|
||||
// MessageInput,
|
||||
// SecretStrInput,
|
||||
// StrInput,
|
||||
// )
|
||||
|
||||
// class OpenAIModelComponent(LCModelComponent):
|
||||
// display_name = "OpenAI"
|
||||
// description = "Generates text using OpenAI LLMs."
|
||||
// icon = "OpenAI"
|
||||
// name = "OpenAIModel"
|
||||
|
||||
// inputs = [
|
||||
// MessageInput(name="input_value", display_name="Input"),
|
||||
// IntInput(
|
||||
// name="max_tokens",
|
||||
// display_name="Max Tokens",
|
||||
// advanced=True,
|
||||
// info="The maximum number of tokens to generate. Set to 0 for unlimited tokens.",
|
||||
// ),
|
||||
// DictInput(name="model_kwargs", display_name="Model Kwargs", advanced=True),
|
||||
// BoolInput(
|
||||
// name="json_mode",
|
||||
// display_name="JSON Mode",
|
||||
// advanced=True,
|
||||
// info="If True, it will output JSON regardless of passing a schema.",
|
||||
// ),
|
||||
// DictInput(
|
||||
// name="output_schema",
|
||||
// is_list=True,
|
||||
// display_name="Schema",
|
||||
// advanced=True,
|
||||
// info="The schema for the Output of the model. You must pass the word JSON in the prompt. If left blank, JSON mode will be disabled.",
|
||||
// ),
|
||||
// DropdownInput(
|
||||
// name="model_name", display_name="Model Name", advanced=False, options=MODEL_NAMES, value=MODEL_NAMES[0]
|
||||
// ),
|
||||
// StrInput(
|
||||
// name="openai_api_base",
|
||||
// display_name="OpenAI API Base",
|
||||
// advanced=True,
|
||||
// info="The base URL of the OpenAI API. Defaults to https://api.openai.com/v1. You can change this to use other APIs like JinaChat, LocalAI and Prem.",
|
||||
// ),
|
||||
// SecretStrInput(
|
||||
// name="api_key",
|
||||
// display_name="OpenAI API Key",
|
||||
// info="The OpenAI API Key to use for the OpenAI model.",
|
||||
// advanced=False,
|
||||
// value="OPENAI_API_KEY",
|
||||
// ),
|
||||
// FloatInput(name="temperature", display_name="Temperature", value=0.1),
|
||||
// BoolInput(name="stream", display_name="Stream", info=STREAM_INFO_TEXT, advanced=True),
|
||||
// StrInput(
|
||||
// name="system_message",
|
||||
// display_name="System Message",
|
||||
// info="System message to pass to the model.",
|
||||
// advanced=True,
|
||||
// ),
|
||||
// IntInput(
|
||||
// name="seed",
|
||||
// display_name="Seed",
|
||||
// info="The seed controls the reproducibility of the job.",
|
||||
// advanced=True,
|
||||
// value=1,
|
||||
// ),
|
||||
// ]
|
||||
|
||||
// def build_model(self) -> LanguageModel: # type: ignore[type-var]
|
||||
// # self.output_schema is a list of dictionaries
|
||||
// # let's convert it to a dictionary
|
||||
// output_schema_dict: dict[str, str] = reduce(operator.ior, self.output_schema or {}, {})
|
||||
// openai_api_key = self.api_key
|
||||
// temperature = self.temperature
|
||||
// model_name: str = self.model_name
|
||||
// max_tokens = self.max_tokens
|
||||
// model_kwargs = self.model_kwargs or {}
|
||||
// openai_api_base = self.openai_api_base or "https://api.openai.com/v1"
|
||||
// json_mode = bool(output_schema_dict) or self.json_mode
|
||||
// seed = self.seed
|
||||
|
||||
// if openai_api_key:
|
||||
// api_key = SecretStr(openai_api_key)
|
||||
// else:
|
||||
// api_key = None
|
||||
// output = ChatOpenAI(
|
||||
// max_tokens=max_tokens or None,
|
||||
// model_kwargs=model_kwargs,
|
||||
// model=model_name,
|
||||
// base_url=openai_api_base,
|
||||
// api_key=api_key,
|
||||
// temperature=0.8,
|
||||
// seed=seed,
|
||||
// )
|
||||
// if json_mode:
|
||||
// if output_schema_dict:
|
||||
// output = output.with_structured_output(schema=output_schema_dict, method="json_mode") # type: ignore
|
||||
// else:
|
||||
// output = output.bind(response_format={"type": "json_object"}) # type: ignore
|
||||
|
||||
// return output # type: ignore
|
||||
|
||||
// def _get_exception_message(self, e: Exception):
|
||||
// """
|
||||
// Get a message from an OpenAI exception.
|
||||
|
||||
// Args:
|
||||
// exception (Exception): The exception to get the message from.
|
||||
|
||||
// Returns:
|
||||
// str: The message from the exception.
|
||||
// """
|
||||
|
||||
// try:
|
||||
// from openai import BadRequestError
|
||||
// except ImportError:
|
||||
// return
|
||||
// if isinstance(e, BadRequestError):
|
||||
// message = e.body.get("message") # type: ignore
|
||||
// if message:
|
||||
// return message
|
||||
// return
|
||||
|
||||
// `;
|
||||
|
||||
if (!process.env.CI) {
|
||||
dotenv.config({ path: path.resolve(__dirname, "../../.env") });
|
||||
}
|
||||
|
|
@ -195,23 +55,15 @@ test("user must be able to freeze a path", async ({ page }) => {
|
|||
.fill(process.env.OPENAI_API_KEY ?? "");
|
||||
|
||||
await page
|
||||
.getByTestId("textarea-input_value")
|
||||
.getByTestId("textarea_str_input_value")
|
||||
.first()
|
||||
.fill(
|
||||
"say a random number between 1 and 100000 and a random animal that lives in the sea",
|
||||
);
|
||||
|
||||
await page.getByTestId("dropdown-model_name").click();
|
||||
await page.getByTestId("dropdown_str_model_name").click();
|
||||
await page.getByTestId("gpt-4o-1-option").click();
|
||||
|
||||
// await page.getByText("OpenAI").first().click();
|
||||
|
||||
// await page.getByTestId("code-button-modal").first().click();
|
||||
|
||||
// await page.locator("textarea").press("Control+a");
|
||||
// await page.locator("textarea").fill(codeOpenAI);
|
||||
// await page.locator('//*[@id="checkAndSaveBtn"]').click();
|
||||
|
||||
await page.waitForTimeout(2000);
|
||||
|
||||
await page.getByTestId("float-input").fill("1.0");
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@ test("erase button should clear the chat messages", async ({ page }) => {
|
|||
.getByTestId("popover-anchor-input-api_key")
|
||||
.fill(process.env.OPENAI_API_KEY ?? "");
|
||||
|
||||
await page.getByTestId("dropdown-model_name").click();
|
||||
await page.getByTestId("dropdown_str_model_name").click();
|
||||
await page.getByTestId("gpt-4o-1-option").click();
|
||||
|
||||
await page.waitForTimeout(2000);
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ test("should delete rows from table message", async ({ page }) => {
|
|||
.getByTestId("popover-anchor-input-api_key")
|
||||
.fill(process.env.OPENAI_API_KEY ?? "");
|
||||
|
||||
await page.getByTestId("dropdown-model_name").click();
|
||||
await page.getByTestId("dropdown_str_model_name").click();
|
||||
await page.getByTestId("gpt-4o-1-option").click();
|
||||
|
||||
await page.waitForTimeout(2000);
|
||||
|
|
|
|||
|
|
@ -103,7 +103,7 @@ test("should copy code from playground modal", async ({ page }) => {
|
|||
.getByTestId("popover-anchor-input-api_key")
|
||||
.fill(process.env.OPENAI_API_KEY ?? "");
|
||||
|
||||
await page.getByTestId("dropdown-model_name").click();
|
||||
await page.getByTestId("dropdown_str_model_name").click();
|
||||
await page.getByTestId("gpt-4o-1-option").click();
|
||||
|
||||
const elementsChatInput = await page
|
||||
|
|
|
|||
|
|
@ -39,34 +39,28 @@ test("InputListComponent", async ({ page }) => {
|
|||
await page.getByTitle("zoom out").click();
|
||||
await page.getByTitle("zoom out").click();
|
||||
|
||||
await page.getByTestId("input-list-input_urls-0").fill("test test test test");
|
||||
await page.getByTestId("inputlist_str_urls_0").fill("test test test test");
|
||||
|
||||
await page.getByTestId("input-list-plus-btn_urls-0").click();
|
||||
|
||||
await page.getByTestId("input-list-plus-btn_urls-0").click();
|
||||
|
||||
await page
|
||||
.getByTestId("input-list-input_urls-1")
|
||||
.getByTestId("inputlist_str_urls_1")
|
||||
.fill("test1 test1 test1 test1");
|
||||
|
||||
await page
|
||||
.getByTestId("input-list-input_urls-2")
|
||||
.getByTestId("inputlist_str_urls_2")
|
||||
.fill("test2 test2 test2 test2");
|
||||
|
||||
await page.getByTestId("div-generic-node").click();
|
||||
await page.getByTestId("more-options-modal").click();
|
||||
await page.getByTestId("edit-button-modal").click();
|
||||
|
||||
const value0 = await page
|
||||
.getByTestId("input-list-input-edit_urls-0")
|
||||
.inputValue();
|
||||
const value1 = await page
|
||||
.getByTestId("input-list-input-edit_urls-1")
|
||||
.inputValue();
|
||||
const value0 = await page.getByTestId("inputlist_str_urls_0").inputValue();
|
||||
const value1 = await page.getByTestId("inputlist_str_urls_1").inputValue();
|
||||
|
||||
const value2 = await page
|
||||
.getByTestId("input-list-input-edit_urls-2")
|
||||
.inputValue();
|
||||
const value2 = await page.getByTestId("inputlist_str_urls_2").inputValue();
|
||||
|
||||
if (
|
||||
value0 !== "test test test test" ||
|
||||
|
|
@ -94,15 +88,15 @@ test("InputListComponent", async ({ page }) => {
|
|||
await page.getByTestId("input-list-plus-btn_urls-0").click();
|
||||
await page.getByTestId("input-list-plus-btn_urls-0").click();
|
||||
|
||||
await page.getByTestId("input-list-input_urls-0").fill("test test test test");
|
||||
await page.getByTestId("inputlist_str_urls_0").fill("test test test test");
|
||||
await page
|
||||
.getByTestId("input-list-input_urls-1")
|
||||
.getByTestId("inputlist_str_urls_1")
|
||||
.fill("test1 test1 test1 test1");
|
||||
await page
|
||||
.getByTestId("input-list-input_urls-2")
|
||||
.getByTestId("inputlist_str_urls_2")
|
||||
.fill("test2 test2 test2 test2");
|
||||
await page
|
||||
.getByTestId("input-list-input_urls-3")
|
||||
.getByTestId("inputlist_str_urls_3")
|
||||
.fill("test3 test3 test3 test3");
|
||||
|
||||
await page.getByTestId("div-generic-node").click();
|
||||
|
|
@ -110,16 +104,16 @@ test("InputListComponent", async ({ page }) => {
|
|||
await page.getByTestId("edit-button-modal").click();
|
||||
|
||||
const value0Edit = await page
|
||||
.getByTestId("input-list-input-edit_urls-0")
|
||||
.getByTestId("inputlist_str_edit_urls_0")
|
||||
.inputValue();
|
||||
const value1Edit = await page
|
||||
.getByTestId("input-list-input-edit_urls-1")
|
||||
.getByTestId("inputlist_str_edit_urls_1")
|
||||
.inputValue();
|
||||
const value2Edit = await page
|
||||
.getByTestId("input-list-input-edit_urls-2")
|
||||
.getByTestId("inputlist_str_edit_urls_2")
|
||||
.inputValue();
|
||||
const value3Edit = await page
|
||||
.getByTestId("input-list-input-edit_urls-3")
|
||||
.getByTestId("inputlist_str_edit_urls_3")
|
||||
.inputValue();
|
||||
|
||||
if (
|
||||
|
|
|
|||
|
|
@ -52,21 +52,19 @@ test("IntComponent", async ({ page }) => {
|
|||
await page.getByTestId("showmax_tokens").click();
|
||||
|
||||
await page.getByText("Close").last().click();
|
||||
await page.getByTestId("int-input-max_tokens").click();
|
||||
await page
|
||||
.getByTestId("int-input-max_tokens")
|
||||
.fill("123456789123456789123456789");
|
||||
await page.getByTestId("int_int_max_tokens").click();
|
||||
await page.getByTestId("int_int_max_tokens").fill("1020304050");
|
||||
|
||||
let value = await page.getByTestId("int-input-max_tokens").inputValue();
|
||||
let value = await page.getByTestId("int_int_max_tokens").inputValue();
|
||||
|
||||
if (value != "123456789123456789123456789") {
|
||||
if (value != "1020304050") {
|
||||
expect(false).toBeTruthy();
|
||||
}
|
||||
|
||||
await page.getByTestId("int-input-max_tokens").click();
|
||||
await page.getByTestId("int-input-max_tokens").fill("0");
|
||||
await page.getByTestId("int_int_max_tokens").click();
|
||||
await page.getByTestId("int_int_max_tokens").fill("0");
|
||||
|
||||
value = await page.getByTestId("int-input-max_tokens").inputValue();
|
||||
value = await page.getByTestId("int_int_max_tokens").inputValue();
|
||||
|
||||
if (value != "0") {
|
||||
expect(false).toBeTruthy();
|
||||
|
|
@ -86,16 +84,14 @@ test("IntComponent", async ({ page }) => {
|
|||
await page.getByTestId("more-options-modal").click();
|
||||
await page.getByTestId("edit-button-modal").click();
|
||||
|
||||
value = await page.getByTestId("edit-int-input-max_tokens").inputValue();
|
||||
value = await page.getByTestId("int_int_edit_max_tokens").inputValue();
|
||||
|
||||
if (value != "0") {
|
||||
expect(false).toBeTruthy();
|
||||
}
|
||||
|
||||
await page.getByTestId("edit-int-input-max_tokens").click();
|
||||
await page
|
||||
.getByTestId("edit-int-input-max_tokens")
|
||||
.fill("123456789123456789123456789");
|
||||
await page.getByTestId("int_int_edit_max_tokens").click();
|
||||
await page.getByTestId("int_int_edit_max_tokens").fill("60708090");
|
||||
|
||||
await page.locator('//*[@id="showmodel_kwargs"]').click();
|
||||
expect(
|
||||
|
|
@ -167,33 +163,29 @@ test("IntComponent", async ({ page }) => {
|
|||
await page.getByTestId("more-options-modal").click();
|
||||
await page.getByTestId("edit-button-modal").click();
|
||||
|
||||
await page.locator('//*[@id="showtimeout"]').click();
|
||||
expect(
|
||||
await page.locator('//*[@id="showtimeout"]').isChecked(),
|
||||
).toBeTruthy();
|
||||
|
||||
const valueEditNode = await page
|
||||
.getByTestId("edit-int-input-max_tokens")
|
||||
.getByTestId("int_int_max_tokens")
|
||||
.inputValue();
|
||||
|
||||
if (valueEditNode != "123456789123456789123456789") {
|
||||
if (valueEditNode != "128000") {
|
||||
expect(false).toBeTruthy();
|
||||
}
|
||||
|
||||
await page.getByText("Close").last().click();
|
||||
await page.getByTestId("int-input-max_tokens").click();
|
||||
await page.getByTestId("int-input-max_tokens").fill("3");
|
||||
await page.getByTestId("int_int_max_tokens").click();
|
||||
await page.getByTestId("int_int_max_tokens").fill("3");
|
||||
|
||||
let value = await page.getByTestId("int-input-max_tokens").inputValue();
|
||||
let value = await page.getByTestId("int_int_max_tokens").inputValue();
|
||||
|
||||
if (value != "3") {
|
||||
expect(false).toBeTruthy();
|
||||
}
|
||||
|
||||
await page.getByTestId("int-input-max_tokens").click();
|
||||
await page.getByTestId("int-input-max_tokens").fill("-3");
|
||||
await page.getByTestId("int_int_max_tokens").click();
|
||||
await page.getByTestId("int_int_max_tokens").fill("-3");
|
||||
await page.getByTestId("div-generic-node").click();
|
||||
|
||||
value = await page.getByTestId("int-input-max_tokens").inputValue();
|
||||
value = await page.getByTestId("int_int_max_tokens").inputValue();
|
||||
|
||||
if (value != "0") {
|
||||
expect(false).toBeTruthy();
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ test("should able to see and interact with logs", async ({ page }) => {
|
|||
.getByTestId("popover-anchor-input-api_key")
|
||||
.fill(process.env.OPENAI_API_KEY ?? "");
|
||||
|
||||
await page.getByTestId("dropdown-model_name").click();
|
||||
await page.getByTestId("dropdown_str_model_name").click();
|
||||
await page.getByTestId("gpt-4o-1-option").click();
|
||||
|
||||
await page.waitForTimeout(2000);
|
||||
|
|
|
|||
|
|
@ -28,151 +28,73 @@ test("NestedComponent", async ({ page }) => {
|
|||
});
|
||||
await page.getByTestId("extended-disclosure").click();
|
||||
await page.getByPlaceholder("Search").click();
|
||||
await page.getByPlaceholder("Search").fill("pinecone");
|
||||
await page.getByPlaceholder("Search").fill("api request");
|
||||
|
||||
await page.waitForTimeout(1000);
|
||||
|
||||
await page
|
||||
.getByTestId("vectorstoresPinecone")
|
||||
.getByTestId("dataAPI Request")
|
||||
.first()
|
||||
.dragTo(page.locator('//*[@id="react-flow-id"]'));
|
||||
await page.click('//*[@id="react-flow-id"]');
|
||||
|
||||
await page.getByTitle("fit view").click();
|
||||
await page.getByTitle("zoom out").click();
|
||||
await page.getByTitle("zoom out").click();
|
||||
await page.getByTitle("zoom out").click();
|
||||
|
||||
await page.getByTestId("dict_nesteddict_headers").first().click();
|
||||
await page
|
||||
.getByText("{")
|
||||
.last()
|
||||
.hover()
|
||||
.then(async () => {
|
||||
await page.locator(".json-view--edit").first().click();
|
||||
await page.locator(".json-view--input").first().fill("keytest");
|
||||
await page.locator(".json-view--edit").first().click();
|
||||
|
||||
await page.locator(".json-view--edit").first().click();
|
||||
await page.locator(".json-view--input").first().fill("keytest1");
|
||||
await page.locator(".json-view--edit").first().click();
|
||||
|
||||
await page.locator(".json-view--edit").first().click();
|
||||
await page.locator(".json-view--input").first().fill("keytest2");
|
||||
await page.locator(".json-view--edit").first().click();
|
||||
});
|
||||
|
||||
await page
|
||||
.locator(".json-view--pair")
|
||||
.first()
|
||||
.hover()
|
||||
.then(async () => {
|
||||
await page.locator(".json-view--edit").nth(2).click();
|
||||
await page.locator(".json-view--null").first().fill("proptest1");
|
||||
await page.locator(".json-view--edit").nth(2).click();
|
||||
});
|
||||
|
||||
await page.getByText("Save").last().click();
|
||||
|
||||
await page.getByTestId("div-generic-node").click();
|
||||
|
||||
await page.getByTestId("more-options-modal").click();
|
||||
await page.getByTestId("edit-button-modal").click();
|
||||
|
||||
// showindex_name
|
||||
await page.locator('//*[@id="showindex_name"]').click();
|
||||
await page.getByTestId("dict_nesteddict_edit_headers").first().click();
|
||||
|
||||
expect(
|
||||
await page.locator('//*[@id="showindex_name"]').isChecked(),
|
||||
).toBeFalsy();
|
||||
expect(await page.getByText("keytest", { exact: true }).count()).toBe(1);
|
||||
expect(await page.getByText("keytest1", { exact: true }).count()).toBe(1);
|
||||
expect(await page.getByText("keytest2", { exact: true }).count()).toBe(1);
|
||||
expect(await page.getByText("proptest1").count()).toBe(1);
|
||||
|
||||
// shownamespace
|
||||
await page.locator('//*[@id="shownamespace"]').click();
|
||||
await page
|
||||
.locator(".json-view--pair")
|
||||
.first()
|
||||
.hover()
|
||||
.then(async () => {
|
||||
await page.locator(".json-view--edit").nth(3).click();
|
||||
await page.locator(".json-view--edit").nth(2).click();
|
||||
});
|
||||
|
||||
expect(
|
||||
await page.locator('//*[@id="shownamespace"]').isChecked(),
|
||||
).toBeFalsy();
|
||||
|
||||
// showpinecone_api_key
|
||||
await page.locator('//*[@id="showpinecone_api_key"]').click();
|
||||
|
||||
expect(
|
||||
await page.locator('//*[@id="showpinecone_api_key"]').isChecked(),
|
||||
).toBeFalsy();
|
||||
|
||||
// showindex_name
|
||||
await page.locator('//*[@id="showindex_name"]').click();
|
||||
|
||||
expect(
|
||||
await page.locator('//*[@id="showindex_name"]').isChecked(),
|
||||
).toBeTruthy();
|
||||
|
||||
// shownamespace
|
||||
await page.locator('//*[@id="shownamespace"]').click();
|
||||
|
||||
expect(
|
||||
await page.locator('//*[@id="shownamespace"]').isChecked(),
|
||||
).toBeTruthy();
|
||||
|
||||
// showpinecone_api_key
|
||||
await page.locator('//*[@id="showpinecone_api_key"]').click();
|
||||
|
||||
expect(
|
||||
await page.locator('//*[@id="showpinecone_api_key"]').isChecked(),
|
||||
).toBeTruthy();
|
||||
|
||||
// showindex_name
|
||||
await page.locator('//*[@id="showindex_name"]').click();
|
||||
|
||||
expect(
|
||||
await page.locator('//*[@id="showindex_name"]').isChecked(),
|
||||
).toBeFalsy();
|
||||
|
||||
// shownamespace
|
||||
await page.locator('//*[@id="shownamespace"]').click();
|
||||
|
||||
expect(
|
||||
await page.locator('//*[@id="shownamespace"]').isChecked(),
|
||||
).toBeFalsy();
|
||||
|
||||
// showpinecone_api_key
|
||||
await page.locator('//*[@id="showpinecone_api_key"]').click();
|
||||
|
||||
expect(
|
||||
await page.locator('//*[@id="showpinecone_api_key"]').isChecked(),
|
||||
).toBeFalsy();
|
||||
|
||||
// showindex_name
|
||||
await page.locator('//*[@id="showindex_name"]').click();
|
||||
|
||||
expect(
|
||||
await page.locator('//*[@id="showindex_name"]').isChecked(),
|
||||
).toBeTruthy();
|
||||
|
||||
// shownamespace
|
||||
await page.locator('//*[@id="shownamespace"]').click();
|
||||
|
||||
expect(
|
||||
await page.locator('//*[@id="shownamespace"]').isChecked(),
|
||||
).toBeTruthy();
|
||||
|
||||
// showpinecone_api_key
|
||||
await page.locator('//*[@id="showpinecone_api_key"]').click();
|
||||
|
||||
expect(
|
||||
await page.locator('//*[@id="showpinecone_api_key"]').isChecked(),
|
||||
).toBeTruthy();
|
||||
|
||||
// showindex_name
|
||||
await page.locator('//*[@id="showindex_name"]').click();
|
||||
|
||||
expect(
|
||||
await page.locator('//*[@id="showindex_name"]').isChecked(),
|
||||
).toBeFalsy();
|
||||
|
||||
// shownamespace
|
||||
await page.locator('//*[@id="shownamespace"]').click();
|
||||
|
||||
expect(
|
||||
await page.locator('//*[@id="shownamespace"]').isChecked(),
|
||||
).toBeFalsy();
|
||||
|
||||
// showpinecone_api_key
|
||||
await page.locator('//*[@id="showpinecone_api_key"]').click();
|
||||
|
||||
expect(
|
||||
await page.locator('//*[@id="showpinecone_api_key"]').isChecked(),
|
||||
).toBeFalsy();
|
||||
|
||||
// showindex_name
|
||||
await page.locator('//*[@id="showindex_name"]').click();
|
||||
|
||||
expect(
|
||||
await page.locator('//*[@id="showindex_name"]').isChecked(),
|
||||
).toBeTruthy();
|
||||
|
||||
// shownamespace
|
||||
await page.locator('//*[@id="shownamespace"]').click();
|
||||
|
||||
expect(
|
||||
await page.locator('//*[@id="shownamespace"]').isChecked(),
|
||||
).toBeTruthy();
|
||||
|
||||
// showpinecone_api_key
|
||||
await page.locator('//*[@id="showpinecone_api_key"]').click();
|
||||
|
||||
expect(
|
||||
await page.locator('//*[@id="showpinecone_api_key"]').isChecked(),
|
||||
).toBeTruthy();
|
||||
|
||||
//showtext_key
|
||||
await page.locator('//*[@id="showtext_key"]').click();
|
||||
|
||||
expect(
|
||||
await page.locator('//*[@id="showtext_key"]').isChecked(),
|
||||
).toBeTruthy();
|
||||
|
||||
await page.getByText("Close").last().click();
|
||||
expect(await page.getByText("keytest", { exact: true }).count()).toBe(0);
|
||||
expect(await page.getByText("proptest1").count()).toBe(0);
|
||||
});
|
||||
|
|
|
|||
|
|
@ -41,14 +41,14 @@ test("PromptTemplateComponent", async ({ page }) => {
|
|||
await page.getByTitle("zoom out").click();
|
||||
await page.getByTitle("zoom out").click();
|
||||
await page.getByTitle("zoom out").click();
|
||||
await page.getByTestId("prompt-input-template").click();
|
||||
await page.getByTestId("promptarea_prompt_template").click();
|
||||
|
||||
await page
|
||||
.getByTestId("modal-prompt-input-template")
|
||||
.getByTestId("modal-promptarea_prompt_template")
|
||||
.fill("{prompt} example {prompt1}");
|
||||
|
||||
let value = await page
|
||||
.getByTestId("modal-prompt-input-template")
|
||||
.getByTestId("modal-promptarea_prompt_template")
|
||||
.inputValue();
|
||||
|
||||
if (value != "{prompt} example {prompt1}") {
|
||||
|
|
@ -67,10 +67,10 @@ test("PromptTemplateComponent", async ({ page }) => {
|
|||
|
||||
await page.getByTestId("genericModalBtnSave").click();
|
||||
|
||||
await page.getByTestId("div-textarea-prompt").click();
|
||||
await page.getByTestId("textarea-prompt").fill("prompt_value_!@#!@#");
|
||||
await page.getByTestId("textarea_str_prompt").click();
|
||||
await page.getByTestId("textarea_str_prompt").fill("prompt_value_!@#!@#");
|
||||
|
||||
value = await page.getByTestId("textarea-prompt").inputValue();
|
||||
value = await page.getByTestId("textarea_str_prompt").inputValue();
|
||||
|
||||
if (value != "prompt_value_!@#!@#") {
|
||||
expect(false).toBeTruthy();
|
||||
|
|
@ -79,7 +79,6 @@ test("PromptTemplateComponent", async ({ page }) => {
|
|||
await page.getByTestId("div-generic-node").click();
|
||||
|
||||
await page.getByTestId("more-options-modal").click();
|
||||
|
||||
await page.getByTestId("save-button-modal").click();
|
||||
|
||||
const replace = await page.getByTestId("replace-button").isVisible();
|
||||
|
|
@ -88,18 +87,12 @@ test("PromptTemplateComponent", async ({ page }) => {
|
|||
await page.getByTestId("replace-button").click();
|
||||
}
|
||||
|
||||
await page.getByTestId("div-textarea-prompt1").click();
|
||||
await page.getByTestId("textarea_str_prompt1").click();
|
||||
await page
|
||||
.getByTestId("textarea-prompt1")
|
||||
.getByTestId("textarea_str_prompt1")
|
||||
.fill("prompt_name_test_123123!@#!@#");
|
||||
|
||||
value = await page.getByTestId("textarea-prompt1").inputValue();
|
||||
|
||||
if (value != "prompt_name_test_123123!@#!@#") {
|
||||
expect(false).toBeTruthy();
|
||||
}
|
||||
|
||||
value = await page.getByTestId("textarea-prompt1").inputValue();
|
||||
value = await page.getByTestId("textarea_str_prompt1").inputValue();
|
||||
|
||||
if (value != "prompt_name_test_123123!@#!@#") {
|
||||
expect(false).toBeTruthy();
|
||||
|
|
@ -109,36 +102,38 @@ test("PromptTemplateComponent", async ({ page }) => {
|
|||
await page.getByTestId("edit-button-modal").click();
|
||||
|
||||
value =
|
||||
(await page.locator('//*[@id="textarea-edit-prompt"]').textContent()) ?? "";
|
||||
(await page.locator('//*[@id="textarea_str_edit_prompt"]').textContent()) ??
|
||||
"";
|
||||
|
||||
if (value != "prompt_value_!@#!@#") {
|
||||
expect(false).toBeTruthy();
|
||||
}
|
||||
|
||||
value =
|
||||
(await page.locator('//*[@id="textarea-edit-prompt1"]').textContent()) ??
|
||||
"";
|
||||
(await page
|
||||
.locator('//*[@id="textarea_str_edit_prompt1"]')
|
||||
.textContent()) ?? "";
|
||||
|
||||
if (value != "prompt_name_test_123123!@#!@#") {
|
||||
expect(false).toBeTruthy();
|
||||
}
|
||||
|
||||
value = await page
|
||||
.locator('//*[@id="prompt-area-edit-template"]')
|
||||
.locator('//*[@id="promptarea_prompt_edit_template"]')
|
||||
.innerText();
|
||||
|
||||
if (value != "{prompt} example {prompt1}") {
|
||||
expect(false).toBeTruthy();
|
||||
}
|
||||
|
||||
await page.locator('//*[@id="textarea-edit-prompt1"]').click();
|
||||
await page.locator('//*[@id="textarea_str_edit_prompt1"]').click();
|
||||
await page
|
||||
.getByTestId("text-area-modal")
|
||||
.fill("prompt_edit_test_12312312321!@#$");
|
||||
|
||||
await page.getByText("Finish Editing", { exact: true }).click();
|
||||
|
||||
await page.locator('//*[@id="textarea-edit-prompt"]').click();
|
||||
await page.locator('//*[@id="textarea_str_edit_prompt"]').click();
|
||||
await page
|
||||
.getByTestId("text-area-modal")
|
||||
.fill("prompt_edit_test_44444444444!@#$");
|
||||
|
|
@ -191,22 +186,24 @@ test("PromptTemplateComponent", async ({ page }) => {
|
|||
expect(await page.locator('//*[@id="showprompt1"]').isChecked()).toBeTruthy();
|
||||
|
||||
value =
|
||||
(await page.locator('//*[@id="textarea-edit-prompt"]').textContent()) ?? "";
|
||||
(await page.locator('//*[@id="textarea_str_edit_prompt"]').textContent()) ??
|
||||
"";
|
||||
|
||||
if (value != "prompt_edit_test_44444444444!@#$") {
|
||||
expect(false).toBeTruthy();
|
||||
}
|
||||
|
||||
value =
|
||||
(await page.locator('//*[@id="textarea-edit-prompt1"]').textContent()) ??
|
||||
"";
|
||||
(await page
|
||||
.locator('//*[@id="textarea_str_edit_prompt1"]')
|
||||
.textContent()) ?? "";
|
||||
|
||||
if (value != "prompt_edit_test_12312312321!@#$") {
|
||||
expect(false).toBeTruthy();
|
||||
}
|
||||
|
||||
value = await page
|
||||
.locator('//*[@id="prompt-area-edit-template"]')
|
||||
.locator('//*[@id="promptarea_prompt_edit_template"]')
|
||||
.innerText();
|
||||
|
||||
if (value != "{prompt} example {prompt1}") {
|
||||
|
|
|
|||
|
|
@ -52,9 +52,9 @@ test("TextAreaModalComponent", async ({ page }) => {
|
|||
await page.getByTitle("zoom out").click();
|
||||
await page.getByTitle("zoom out").click();
|
||||
await page.getByTitle("zoom out").click();
|
||||
await page.getByTestId("prompt-input-template").click();
|
||||
await page.getByTestId("promptarea_prompt_template").click();
|
||||
|
||||
await page.getByTestId("modal-prompt-input-template").fill("{text}");
|
||||
await page.getByTestId("modal-promptarea_prompt_template").fill("{text}");
|
||||
|
||||
let valueBadgeOne = await page.locator('//*[@id="badge0"]').innerText();
|
||||
if (valueBadgeOne != "text") {
|
||||
|
|
@ -64,12 +64,12 @@ test("TextAreaModalComponent", async ({ page }) => {
|
|||
await page.getByTestId("genericModalBtnSave").click();
|
||||
|
||||
await page
|
||||
.getByTestId("textarea-text")
|
||||
.getByTestId("textarea_str_text")
|
||||
.fill(
|
||||
"test test test test test test test test test test test !@#%*)( 123456789101010101010101111111111 !!!!!!!!!!",
|
||||
);
|
||||
|
||||
await page.getByTestId("textarea-text-ExternalLink").click();
|
||||
await page.getByTestId("textarea_str_text-ExternalLink").click();
|
||||
|
||||
await page.waitForTimeout(500);
|
||||
|
||||
|
|
@ -86,7 +86,9 @@ test("TextAreaModalComponent", async ({ page }) => {
|
|||
|
||||
await page.getByTestId("genericModalBtnSave").click();
|
||||
|
||||
const valueTextArea = await page.getByTestId("textarea-text").inputValue();
|
||||
const valueTextArea = await page
|
||||
.getByTestId("textarea_str_text")
|
||||
.inputValue();
|
||||
|
||||
if (valueTextArea != "test123123") {
|
||||
expect(false).toBeTruthy();
|
||||
|
|
|
|||
|
|
@ -193,7 +193,7 @@ test("TextInputOutputComponent", async ({ page }) => {
|
|||
.getByTestId("popover-anchor-input-api_key")
|
||||
.fill(process.env.OPENAI_API_KEY ?? "");
|
||||
|
||||
await page.getByTestId("dropdown-model_name").click();
|
||||
await page.getByTestId("dropdown_str_model_name").click();
|
||||
await page.getByTestId("gpt-4o-1-option").click();
|
||||
|
||||
await page.waitForTimeout(2000);
|
||||
|
|
|
|||
|
|
@ -70,20 +70,30 @@ test("ToggleComponent", async ({ page }) => {
|
|||
|
||||
await page.getByTitle("fit view").click();
|
||||
|
||||
await page.getByTestId("toggle-load_hidden").click();
|
||||
expect(await page.getByTestId("toggle-load_hidden").isChecked()).toBeTruthy();
|
||||
await page.getByTestId("toggle_bool_load_hidden").click();
|
||||
expect(
|
||||
await page.getByTestId("toggle_bool_load_hidden").isChecked(),
|
||||
).toBeTruthy();
|
||||
|
||||
await page.getByTestId("toggle-load_hidden").click();
|
||||
expect(await page.getByTestId("toggle-load_hidden").isChecked()).toBeFalsy();
|
||||
await page.getByTestId("toggle_bool_load_hidden").click();
|
||||
expect(
|
||||
await page.getByTestId("toggle_bool_load_hidden").isChecked(),
|
||||
).toBeFalsy();
|
||||
|
||||
await page.getByTestId("toggle-load_hidden").click();
|
||||
expect(await page.getByTestId("toggle-load_hidden").isChecked()).toBeTruthy();
|
||||
await page.getByTestId("toggle_bool_load_hidden").click();
|
||||
expect(
|
||||
await page.getByTestId("toggle_bool_load_hidden").isChecked(),
|
||||
).toBeTruthy();
|
||||
|
||||
await page.getByTestId("toggle-load_hidden").click();
|
||||
expect(await page.getByTestId("toggle-load_hidden").isChecked()).toBeFalsy();
|
||||
await page.getByTestId("toggle_bool_load_hidden").click();
|
||||
expect(
|
||||
await page.getByTestId("toggle_bool_load_hidden").isChecked(),
|
||||
).toBeFalsy();
|
||||
|
||||
await page.getByTestId("toggle-load_hidden").click();
|
||||
expect(await page.getByTestId("toggle-load_hidden").isChecked()).toBeTruthy();
|
||||
await page.getByTestId("toggle_bool_load_hidden").click();
|
||||
expect(
|
||||
await page.getByTestId("toggle_bool_load_hidden").isChecked(),
|
||||
).toBeTruthy();
|
||||
|
||||
await page.getByTestId("div-generic-node").click();
|
||||
|
||||
|
|
@ -99,7 +109,9 @@ test("ToggleComponent", async ({ page }) => {
|
|||
await page.getByTestId("more-options-modal").click();
|
||||
await page.getByTestId("edit-button-modal").click();
|
||||
|
||||
expect(await page.getByTestId("toggle-load_hidden").isChecked()).toBeTruthy();
|
||||
expect(
|
||||
await page.getByTestId("toggle_bool_load_hidden").isChecked(),
|
||||
).toBeTruthy();
|
||||
|
||||
await page.locator('//*[@id="showload_hidden"]').click();
|
||||
expect(
|
||||
|
|
@ -154,7 +166,7 @@ test("ToggleComponent", async ({ page }) => {
|
|||
|
||||
await page.getByText("Close").last().click();
|
||||
|
||||
const plusButtonLocator = page.getByTestId("toggle-load_hidden");
|
||||
const plusButtonLocator = page.getByTestId("toggle_bool_load_hidden");
|
||||
const elementCount = await plusButtonLocator?.count();
|
||||
if (elementCount === 0) {
|
||||
expect(true).toBeTruthy();
|
||||
|
|
@ -170,34 +182,34 @@ test("ToggleComponent", async ({ page }) => {
|
|||
).toBeTruthy();
|
||||
|
||||
expect(
|
||||
await page.getByTestId("toggle-edit-load_hidden").isChecked(),
|
||||
await page.getByTestId("toggle_bool_load_hidden").isChecked(),
|
||||
).toBeTruthy();
|
||||
|
||||
await page.getByText("Close").last().click();
|
||||
|
||||
await page.getByTestId("toggle-load_hidden").click();
|
||||
await page.getByTestId("toggle_bool_load_hidden").click();
|
||||
expect(
|
||||
await page.getByTestId("toggle-load_hidden").isChecked(),
|
||||
await page.getByTestId("toggle_bool_load_hidden").isChecked(),
|
||||
).toBeFalsy();
|
||||
|
||||
await page.getByTestId("toggle-load_hidden").click();
|
||||
await page.getByTestId("toggle_bool_load_hidden").click();
|
||||
expect(
|
||||
await page.getByTestId("toggle-load_hidden").isChecked(),
|
||||
await page.getByTestId("toggle_bool_load_hidden").isChecked(),
|
||||
).toBeTruthy();
|
||||
|
||||
await page.getByTestId("toggle-load_hidden").click();
|
||||
await page.getByTestId("toggle_bool_load_hidden").click();
|
||||
expect(
|
||||
await page.getByTestId("toggle-load_hidden").isChecked(),
|
||||
await page.getByTestId("toggle_bool_load_hidden").isChecked(),
|
||||
).toBeFalsy();
|
||||
|
||||
await page.getByTestId("toggle-load_hidden").click();
|
||||
await page.getByTestId("toggle_bool_load_hidden").click();
|
||||
expect(
|
||||
await page.getByTestId("toggle-load_hidden").isChecked(),
|
||||
await page.getByTestId("toggle_bool_load_hidden").isChecked(),
|
||||
).toBeTruthy();
|
||||
|
||||
await page.getByTestId("toggle-load_hidden").click();
|
||||
await page.getByTestId("toggle_bool_load_hidden").click();
|
||||
expect(
|
||||
await page.getByTestId("toggle-load_hidden").isChecked(),
|
||||
await page.getByTestId("toggle_bool_load_hidden").isChecked(),
|
||||
).toBeFalsy();
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -35,18 +35,14 @@ test("curl_api_generation", async ({ page, context }) => {
|
|||
.locator("div")
|
||||
.first()
|
||||
.click();
|
||||
|
||||
await page.waitForTimeout(1000);
|
||||
|
||||
await page
|
||||
.getByRole("textbox", { name: "Type something..." })
|
||||
.first()
|
||||
.click();
|
||||
await page
|
||||
.getByRole("textbox", { name: "Type something..." })
|
||||
.first()
|
||||
.press("Control+a");
|
||||
await page
|
||||
.getByRole("textbox", { name: "Type something..." })
|
||||
.getByTestId("popover-anchor-input-openai_api_base-edit")
|
||||
.first()
|
||||
.fill("teste");
|
||||
|
||||
await page.getByRole("tab", { name: "cURL" }).click();
|
||||
await page.getByTestId("icon-Copy").click();
|
||||
const handle2 = await page.evaluateHandle(() =>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue