diff --git a/.github/workflows/typescript_test.yml b/.github/workflows/typescript_test.yml index 4dd5b86b4..8a52540e9 100644 --- a/.github/workflows/typescript_test.yml +++ b/.github/workflows/typescript_test.yml @@ -23,8 +23,8 @@ jobs: strategy: fail-fast: false matrix: - shardIndex: [1, 2, 3, 4, 5, 6, 7] - shardTotal: [7] + shardIndex: [1, 2, 3, 4, 5, 6, 7, 8] + shardTotal: [8] env: OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} STORE_API_KEY: ${{ secrets.STORE_API_KEY }} diff --git a/src/frontend/tests/end-to-end/store-2.spec.ts b/src/frontend/tests/end-to-end/store-2.spec.ts new file mode 100644 index 000000000..35ba80341 --- /dev/null +++ b/src/frontend/tests/end-to-end/store-2.spec.ts @@ -0,0 +1,124 @@ +import { expect, test } from "@playwright/test"; + +test("should exists Store", async ({ page }) => { + await page.goto("/"); + await page.waitForTimeout(1000); + + await page.getByTestId("button-store").isVisible(); + await page.getByTestId("button-store").isEnabled(); +}); + +test("should not have an API key", async ({ page }) => { + await page.goto("/"); + await page.waitForTimeout(1000); + + await page.getByTestId("button-store").click(); + await page.waitForTimeout(2000); + + await page.getByText("API Key Error").isVisible(); +}); + +test("should find a searched Component on Store", async ({ page }) => { + await page.goto("/"); + await page.waitForTimeout(1000); + + await page.getByTestId("button-store").click(); + await page.waitForTimeout(1000); + + await page.getByTestId("search-store-input").fill("File Loader"); + await page.getByTestId("search-store-button").click(); + await page.getByText("File Loader").isVisible(); + + await page.getByTestId("search-store-input").fill("Basic RAG"); + await page.getByTestId("search-store-button").click(); + await page.getByText("Basic RAG").isVisible(); + + await page.getByTestId("search-store-input").fill("YouTube QA"); + await page.getByTestId("search-store-button").click(); + await page.getByText("YouTube QA").isVisible(); +}); + +test("should filter by tag", async ({ page }) => { + await page.goto("/"); + await page.waitForTimeout(1000); + + await page.getByTestId("button-store").click(); + await page.waitForTimeout(1000); + + await page.getByTestId("tag-selector-Agent").click(); + await page.getByText("File Loader").isVisible(); + await page.getByTestId("tag-selector-Agent").click(); + await page.getByText("Album Cover Builder").isVisible(); + + await page.getByTestId("tag-selector-Memory").click(); + await page.getByText("MP3 QA12").isVisible(); + + await page.getByTestId("tag-selector-Chain").click(); + await page.getByText("There are no").isVisible(); + await page.getByTestId("tag-selector-Chain").click(); + + await page.getByTestId("tag-selector-Vector Store").click(); + await page.getByText("MP3 QA12").isVisible(); + await page.getByTestId("tag-selector-Vector Store").click(); + await page.getByTestId("tag-selector-Memory").click(); + + await page.getByText("Basic RAG").isVisible(); +}); + +test("should order the visualization", async ({ page }) => { + await page.goto("/"); + await page.waitForTimeout(1000); + + await page.getByTestId("button-store").click(); + await page.waitForTimeout(1000); + + await page.getByText("Basic RAG").isVisible(); + + await page.getByTestId("select-order-store").click(); + await page.waitForTimeout(2000); + await page.getByText("Alphabetical").click(); + + await page.getByText("Album Cover Builder").isVisible(); + + await page.getByTestId("select-order-store").click(); + await page.getByText("Popular").click(); + + await page.getByText("Basic RAG").isVisible(); +}); + +test("should filter by type", async ({ page }) => { + await page.goto("/"); + await page.waitForTimeout(1000); + + await page.getByTestId("button-store").click(); + await page.waitForTimeout(1000); + + await page.getByText("Website Content QA").isVisible(); + + await page.getByTestId("flows-button-store").click(); + await page.waitForTimeout(8000); + + let iconGroup = await page.getByTestId("icon-Group")?.count(); + expect(iconGroup).not.toBe(0); + + await page.getByText("icon-ToyBrick").last().isHidden(); + + await page.getByTestId("components-button-store").click(); + await page.waitForTimeout(8000); + + await page.getByTestId("icon-Group").last().isHidden(); + let toyBrick = await page.getByTestId("icon-ToyBrick")?.count(); + expect(toyBrick).not.toBe(0); + + await page.getByTestId("all-button-store").click(); + await page.waitForTimeout(8000); + + let iconGroupAllCount = await page.getByTestId("icon-Group")?.count(); + await page.waitForTimeout(2000); + let toyBrickAllCount = await page.getByTestId("icon-ToyBrick")?.count(); + await page.waitForTimeout(2000); + + if (iconGroupAllCount === 0 || toyBrickAllCount === 0) { + expect(false).toBe(true); + } +}); diff --git a/src/frontend/src/store.spec.ts b/src/frontend/tests/end-to-end/store.spec.ts similarity index 57% rename from src/frontend/src/store.spec.ts rename to src/frontend/tests/end-to-end/store.spec.ts index 35cf060c1..61e01adb0 100644 --- a/src/frontend/src/store.spec.ts +++ b/src/frontend/tests/end-to-end/store.spec.ts @@ -1,128 +1,5 @@ import { expect, test } from "@playwright/test"; -test("should exists Store", async ({ page }) => { - await page.goto("/"); - await page.waitForTimeout(1000); - - await page.getByTestId("button-store").isVisible(); - await page.getByTestId("button-store").isEnabled(); -}); - -test("should not have an API key", async ({ page }) => { - await page.goto("/"); - await page.waitForTimeout(1000); - - await page.getByTestId("button-store").click(); - await page.waitForTimeout(2000); - - await page.getByText("API Key Error").isVisible(); -}); - -test("should find a searched Component on Store", async ({ page }) => { - await page.goto("/"); - await page.waitForTimeout(1000); - - await page.getByTestId("button-store").click(); - await page.waitForTimeout(1000); - - await page.getByTestId("search-store-input").fill("File Loader"); - await page.getByTestId("search-store-button").click(); - await page.getByText("File Loader").isVisible(); - - await page.getByTestId("search-store-input").fill("Basic RAG"); - await page.getByTestId("search-store-button").click(); - await page.getByText("Basic RAG").isVisible(); - - await page.getByTestId("search-store-input").fill("YouTube QA"); - await page.getByTestId("search-store-button").click(); - await page.getByText("YouTube QA").isVisible(); -}); - -test("should filter by tag", async ({ page }) => { - await page.goto("/"); - await page.waitForTimeout(1000); - - await page.getByTestId("button-store").click(); - await page.waitForTimeout(1000); - - await page.getByTestId("tag-selector-Agent").click(); - await page.getByText("File Loader").isVisible(); - await page.getByTestId("tag-selector-Agent").click(); - await page.getByText("Album Cover Builder").isVisible(); - - await page.getByTestId("tag-selector-Memory").click(); - await page.getByText("MP3 QA12").isVisible(); - - await page.getByTestId("tag-selector-Chain").click(); - await page.getByText("There are no").isVisible(); - await page.getByTestId("tag-selector-Chain").click(); - - await page.getByTestId("tag-selector-Vector Store").click(); - await page.getByText("MP3 QA12").isVisible(); - await page.getByTestId("tag-selector-Vector Store").click(); - await page.getByTestId("tag-selector-Memory").click(); - - await page.getByText("Basic RAG").isVisible(); -}); - -test("should order the visualization", async ({ page }) => { - await page.goto("/"); - await page.waitForTimeout(1000); - - await page.getByTestId("button-store").click(); - await page.waitForTimeout(1000); - - await page.getByText("Basic RAG").isVisible(); - - await page.getByTestId("select-order-store").click(); - await page.waitForTimeout(2000); - await page.getByText("Alphabetical").click(); - - await page.getByText("Album Cover Builder").isVisible(); - - await page.getByTestId("select-order-store").click(); - await page.getByText("Popular").click(); - - await page.getByText("Basic RAG").isVisible(); -}); - -test("should filter by type", async ({ page }) => { - await page.goto("/"); - await page.waitForTimeout(1000); - - await page.getByTestId("button-store").click(); - await page.waitForTimeout(1000); - - await page.getByText("Website Content QA").isVisible(); - - await page.getByTestId("flows-button-store").click(); - await page.waitForTimeout(8000); - - let iconGroup = await page.getByTestId("icon-Group")?.count(); - expect(iconGroup).not.toBe(0); - - await page.getByText("icon-ToyBrick").last().isHidden(); - - await page.getByTestId("components-button-store").click(); - await page.waitForTimeout(8000); - - await page.getByTestId("icon-Group").last().isHidden(); - let toyBrick = await page.getByTestId("icon-ToyBrick")?.count(); - expect(toyBrick).not.toBe(0); - - await page.getByTestId("all-button-store").click(); - await page.waitForTimeout(8000); - - let iconGroupAllCount = await page.getByTestId("icon-Group")?.count(); - await page.waitForTimeout(2000); - let toyBrickAllCount = await page.getByTestId("icon-ToyBrick")?.count(); - await page.waitForTimeout(2000); - - if (iconGroupAllCount === 0 || toyBrickAllCount === 0) { - expect(false).toBe(true); - } -}); - test("should add API-KEY", async ({ page }) => { await page.goto("/"); await page.waitForTimeout(1000); diff --git a/src/frontend/tsconfig.json b/src/frontend/tsconfig.json index e95080e08..b1e7a3fd8 100644 --- a/src/frontend/tsconfig.json +++ b/src/frontend/tsconfig.json @@ -52,5 +52,5 @@ "tests/end-to-end/tweaks_test.spec.ts", "tests/end-to-end/twoEdges.spec.ts", "tests/end-to-end/userSettings.spec.ts" - ] +, "tests/end-to-end/store.spec.ts" ] }