소스 검색

fix: page search e2e test

Tienson Qin 2 년 전
부모
커밋
c1ebd14cef
2개의 변경된 파일9개의 추가작업 그리고 1개의 파일을 삭제
  1. 5 0
      e2e-tests/page-search.spec.ts
  2. 4 1
      src/main/frontend/handler/editor/lifecycle.cljs

+ 5 - 0
e2e-tests/page-search.spec.ts

@@ -35,6 +35,7 @@ test('Search page and blocks (diacritics)', async ({ page, block }) => {
 
   await block.enterNext()
   await block.mustType('[[Einführung in die Allgemeine Sprachwissenschaft' + rand + ']] diacritic-block-2', { delay: 10 })
+  await page.waitForTimeout(500)
   await page.keyboard.press(hotkeyBack)
 
   // check if diacritics are indexed
@@ -113,7 +114,9 @@ async function alias_test(block: Block, page: Page, page_name: string, search_kw
   expect(await page.inputValue('textarea >> nth=0')).toBe(alias_test_content_1)
 
   await enterNextBlock(page)
+  await page.waitForTimeout(100)
   await page.type('textarea >> nth=0', alias_test_content_2)
+  await page.waitForTimeout(100)
   page.keyboard.press(hotkeyBack)
 
   await page.waitForNavigation()
@@ -129,7 +132,9 @@ async function alias_test(block: Block, page: Page, page_name: string, search_kw
   await block.activeEditing(2)
   expect(await page.inputValue('textarea >> nth=0')).toBe(alias_test_content_2)
   await newInnerBlock(page)
+  await page.waitForTimeout(100)
   await page.type('textarea >> nth=0', alias_test_content_3)
+  await page.waitForTimeout(100)
   page.keyboard.press(hotkeyBack)
 
   await page.waitForNavigation()

+ 4 - 1
src/main/frontend/handler/editor/lifecycle.cljs

@@ -39,7 +39,10 @@
   [state]
   (let [{:keys [value]} (get-state)]
     (editor-handler/clear-when-saved!)
-    (when-not (contains? #{:insert :indent-outdent :auto-save :undo :redo :delete} (state/get-editor-latest-op))
+    (when (and
+           (not (contains? #{:insert :indent-outdent :auto-save :undo :redo :delete} (state/get-editor-op)))
+           ;; Don't trigger auto-save if the latest op is undo or redo
+           (not (contains? #{:undo :redo} (state/get-editor-latest-op))))
       (editor-handler/save-block! (get-state) value)))
   state)