From ba9b84c206b7ab713d2dfa1f0c96712292f9b4cc Mon Sep 17 00:00:00 2001 From: charlie Date: Mon, 13 Jan 2025 12:07:47 +0800 Subject: [PATCH] fix(e2e): plugin apis related tests --- e2e-tests/logseq-api.spec.ts | 29 +------------------------- e2e-tests/plugins.spec.ts | 26 ++++++++++++++++++++++- e2e-tests/utils.ts | 4 +--- src/main/frontend/components/repo.cljs | 3 ++- 4 files changed, 29 insertions(+), 33 deletions(-) diff --git a/e2e-tests/logseq-api.spec.ts b/e2e-tests/logseq-api.spec.ts index 5431513cb6..cc413485e7 100644 --- a/e2e-tests/logseq-api.spec.ts +++ b/e2e-tests/logseq-api.spec.ts @@ -4,7 +4,7 @@ import { callPageAPI } from './utils' import { Page } from 'playwright' async function createDBGraph(page: Page) { - await page.locator(`a.cp__repos-select-trigger`).click() + await page.locator(`#left-sidebar .cp__graphs-selector > a`).click() await page.click('text="Create db graph"') await page.waitForSelector('.new-graph') const name = `e2e-db-${Date.now()}` @@ -89,8 +89,6 @@ test('(File graph): block related apis', await callAPI('upsert_block_property', b1.uuid, 'a', 1) let prop1 = await callAPI('get_block_property', b1.uuid, 'a') - expect(prop1).toBe(1) - await callAPI('upsert_block_property', b1.uuid, 'a', 2) prop1 = await callAPI('get_block_property', b1.uuid, 'a') @@ -203,28 +201,3 @@ test('(DB graph): block related apis', // await page.pause() }) - -/** - * load local tests plugin - */ -export async function loadLocalE2eTestsPlugin(page) { - const pid = 'a-logseq-plugin-for-e2e-tests' - const hasLoaded = await page.evaluate(async ([pid]) => { - // @ts-ignore - const p = window.LSPluginCore.registeredPlugins.get(pid) - // @ts-ignore - await window.LSPluginCore.enable(pid) - return p != null - }, [pid]) - - if (hasLoaded) return true - - await callPageAPI(page, 'set_state_from_store', - 'ui/developer-mode?', true) - await page.keyboard.press('t+p') - await page.locator('text=Load unpacked plugin') - await callPageAPI(page, 'set_state_from_store', - 'plugin/selected-unpacked-pkg', `${__dirname}/plugin`) - await page.keyboard.press('Escape') - await page.keyboard.press('Escape') -} diff --git a/e2e-tests/plugins.spec.ts b/e2e-tests/plugins.spec.ts index 146ae9b318..d2fceb71fc 100644 --- a/e2e-tests/plugins.spec.ts +++ b/e2e-tests/plugins.spec.ts @@ -1,8 +1,32 @@ import { expect } from '@playwright/test' import { test } from './fixtures' -import {loadLocalE2eTestsPlugin } from './logseq-api.spec' import { callPageAPI } from './utils' +/** + * load local tests plugin + */ +export async function loadLocalE2eTestsPlugin(page) { + const pid = 'a-logseq-plugin-for-e2e-tests' + const hasLoaded = await page.evaluate(async ([pid]) => { + // @ts-ignore + const p = window.LSPluginCore.registeredPlugins.get(pid) + // @ts-ignore + await window.LSPluginCore.enable(pid) + return p != null + }, [pid]) + + if (hasLoaded) return true + + await callPageAPI(page, 'set_state_from_store', + 'ui/developer-mode?', true) + await page.keyboard.press('t+p') + await page.locator('text=Load unpacked plugin') + await callPageAPI(page, 'set_state_from_store', + 'plugin/selected-unpacked-pkg', `${__dirname}/plugin`) + await page.keyboard.press('Escape') + await page.keyboard.press('Escape') +} + test.skip('enabled plugin system default', async ({ page }) => { const callAPI = callPageAPI.bind(null, page) diff --git a/e2e-tests/utils.ts b/e2e-tests/utils.ts index 13508e2f11..86f2502484 100644 --- a/e2e-tests/utils.ts +++ b/e2e-tests/utils.ts @@ -140,12 +140,10 @@ export async function loadLocalGraph(page: Page, path: string): Promise { await expect(sidebar).toHaveClass(/is-open/) } - await page.click('#left-sidebar .repo-switch'); + await page.click('#left-sidebar .cp__graphs-selector > a'); await page.waitForSelector('.cp__repos-quick-actions >> text="Add new graph"', { state: 'visible', timeout: 5000 }) await page.click('text=Add new graph') - - expect(page.locator('.repo-name')).toHaveText(pathlib.basename(path)) } setMockedOpenDirPath(page, ''); // reset it diff --git a/src/main/frontend/components/repo.cljs b/src/main/frontend/components/repo.cljs index 451589fa40..fdb3361e4e 100644 --- a/src/main/frontend/components/repo.cljs +++ b/src/main/frontend/components/repo.cljs @@ -411,7 +411,8 @@ "Select a Graph")] [:div.cp__graphs-selector.flex.items-center.justify-between [:a.item.flex.items-center.gap-1.select-none - {:on-click (fn [^js e] + {:title current-repo + :on-click (fn [^js e] (shui/popup-show! (.closest (.-target e) "a") (fn [{:keys [id]}] (repos-dropdown-content {:contentid id})) {:as-dropdown? true