Skip to content

Commit 1a7af32

Browse files
committed
Move sharing spec to Playwright
1 parent 1a74568 commit 1a7af32

File tree

2 files changed

+55
-34
lines changed

2 files changed

+55
-34
lines changed

test/cypress/e2e/sharing.cy.ts

Lines changed: 0 additions & 34 deletions
This file was deleted.

test/e2e/sharing.spec.ts

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
import { type Page, expect, test } from '@playwright/test'
2+
import type * as appEvents from '/helpers/app'
3+
4+
const waitUntil = async (page: Page, type: appEvents.AppEventType) => {
5+
await page.evaluate(async (type) => {
6+
return new Promise<void>((resolve) => {
7+
const stopWatching = window.appEvents.watchEvents(() => {
8+
if (window.appEvents.isLogged(type)) {
9+
stopWatching()
10+
resolve()
11+
}
12+
})
13+
})
14+
}, type)
15+
}
16+
17+
test.describe('sharing', () => {
18+
test('can create a shared doc and view it from a new session', async ({ page }) => {
19+
await page.goto('/account?ci=true')
20+
await page.waitForSelector('[data-is-mounted="true"]')
21+
22+
await page.locator('[data-test-auth-tier-personal] [data-test-auth-social-google]').click()
23+
await page.waitForLoadState('domcontentloaded')
24+
await page.getByRole('button', { name: /add new account/i }).click()
25+
await page.waitForLoadState('domcontentloaded')
26+
await page.locator('#autogen-button').click()
27+
await page.waitForLoadState('domcontentloaded')
28+
await page.locator('#sign-in').click()
29+
30+
await page.waitForSelector('[data-is-mounted="true"]')
31+
32+
await waitUntil(page, 'user_signed_in')
33+
34+
await page.goto('/docs/new?ci=true')
35+
await page.waitForSelector('[data-is-mounted="true"]')
36+
37+
await page.keyboard.type('hello')
38+
39+
await page.locator('[data-test-toggle-meta]:visible').click()
40+
await page.locator('[data-test-share-doc]').click()
41+
42+
const value = await page.locator('[data-test-public-url]').inputValue()
43+
44+
await waitUntil(page, 'network_docs_synced')
45+
await page.goto(value)
46+
await page.waitForSelector('[data-is-mounted="true"]')
47+
await waitUntil(page, 'network_doc_loaded')
48+
49+
const doc = await page.evaluate(() => {
50+
return window.inkMde.getDoc()
51+
})
52+
53+
expect(doc).toEqual('hello')
54+
})
55+
})

0 commit comments

Comments
 (0)