From f5d522d90a2e7f34ad5defd54c5e9a586a2f38b5 Mon Sep 17 00:00:00 2001 From: Bad3r Date: Mon, 19 Jun 2023 18:16:44 -0400 Subject: [PATCH] fix: test intermediate failure --- e2e-tests/code-editing.spec.ts | 65 ++++++++++++++++++++++++++-------- 1 file changed, 51 insertions(+), 14 deletions(-) diff --git a/e2e-tests/code-editing.spec.ts b/e2e-tests/code-editing.spec.ts index bcd7c8bfc79..44cdcc04a85 100644 --- a/e2e-tests/code-editing.spec.ts +++ b/e2e-tests/code-editing.spec.ts @@ -250,34 +250,71 @@ test('multi properties with code', async ({ page }) => { test('Select codeblock language', async ({ page }) => { await createRandomPage(page) - await page.type('textarea >> nth=0', '/code block', { delay: 100 }) - await page.press('textarea >> nth=0', 'Enter', { delay: 100 }) + // Open the slash command menu + await page.type('textarea >> nth=0', '/code block', { delay: 20 }) + + expect( + await page.waitForSelector('[data-modal-name="commands"]', { + state: 'visible', + }) + ).toBeTruthy() + + // Select `code block` command and open the language dropdown menu + await page.press('textarea >> nth=0', 'Enter', { delay: 10 }) + // wait for the modal to open + expect( + await page.waitForSelector('[data-modal-name="select-code-block-mode"]', { + state: 'visible', + }) + ).toBeTruthy() // Select Clojure from the dropdown menu await repeatKeyPress(page, 'ArrowDown', 6) - await page.press('textarea >> nth=0', 'Enter', { delay: 100 }) + await page.press('textarea >> nth=0', 'Enter', { delay: 10 }) + // expect the codeblock to be visible + expect(await page.waitForSelector('.CodeMirror', { state: 'visible' })) + + // Exit codeblock and return to block edit mode + await page.press('.CodeMirror textarea >> nth=0', 'Escape', { delay: 10 }) - await page.type('.CodeMirror textarea', '(println "Hello, Logseq!")') - await page.press('.CodeMirror textarea', 'Escape', { delay: 100 }) expect(await page.inputValue('.block-editor textarea')).toBe( - '```clojure\n(println "Hello, Logseq!")\n```' + '```clojure\n```' ) }) test('Select codeblock language while surrounded by text', async ({ page }) => { await createRandomPage(page) - - await page.type('textarea >> nth=0', 'abc abc') + await page.type('textarea >> nth=0', 'ABC XYZ', { delay: 20 }) await repeatKeyPress(page, 'ArrowLeft', 3) - await page.type('textarea >> nth=0', '/code', { delay: 100 }) - await page.press('textarea >> nth=0', 'Enter', { delay: 100 }) + + // Open the slash command menu + await page.type('textarea >> nth=0', '/code block', { delay: 20 }) + + expect( + await page.waitForSelector('[data-modal-name="commands"]', { + state: 'visible', + }) + ).toBeTruthy() + + // Select `code block` command and open the language dropdown menu + await page.press('textarea >> nth=0', 'Enter', { delay: 10 }) + // wait for the modal to open + expect( + await page.waitForSelector('[data-modal-name="select-code-block-mode"]', { + state: 'visible', + }) + ).toBeTruthy() // Select Clojure from the dropdown menu await repeatKeyPress(page, 'ArrowDown', 6) - await page.press('textarea >> nth=0', 'Enter', { delay: 100 }) + await page.press('textarea >> nth=0', 'Enter', { delay: 10 }) + // expect the codeblock to be visible + expect(await page.waitForSelector('.CodeMirror', { state: 'visible' })) + + // Exit codeblock and return to block edit mode + await page.press('.CodeMirror textarea >> nth=0', 'Escape', { delay: 10 }) - await page.press('.CodeMirror textarea', 'Escape', { delay: 100 }) expect(await page.inputValue('.block-editor textarea')).toBe( - 'abc \n```clojure\n```\nabc' + 'ABC \n```clojure\n```\nXYZ' ) -}) \ No newline at end of file +})