Files
upstream-tldraw/apps/dotcom/client/e2e/tests/smoke/not-logged-in.spec.ts
upstream-mirror a774ac673a
Some checks failed
Deploy analytics worker / Deploy analytics worker to ${{ (github.ref == 'refs/heads/production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Failing after 1s
i18n upload strings / Upload latest strings (push) Failing after 1s
Deploy bemo / Deploy bemo to ${{ (github.ref == 'refs/heads/bemo-production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Failing after 1s
Deploy grafana resources / ${{ github.event_name == 'push' && 'Deploy grafana resources' || 'Validate grafana resources (dry run)' }} (push) Failing after 0s
End to end tests (dotcom) / Check for relevant changes (push) Failing after 0s
End to end tests (examples) / Check for relevant changes (push) Failing after 0s
End to end tests (mermaid readability) / Check for relevant changes (push) Failing after 1s
End to end tests (perf) / Check for relevant changes (push) Failing after 0s
Publish editor extensions / Publish editor extensions (push) Failing after 1s
Publish SDK packages / Remove the publish-packages label (push) Has been skipped
Checks / Tests & checks (push) Has been cancelled
Checks / Build all projects (push) Has been cancelled
Deploy templates / Deploy templates (push) Has been cancelled
End to end tests (dotcom) / End to end tests (dotcom) (push) Has been cancelled
End to end tests (mermaid readability) / End to end tests (mermaid readability) (push) Has been cancelled
End to end tests (perf) / End to end tests (perf) (push) Has been cancelled
Deploy .com / Deploy dotcom to ${{ (github.ref == 'refs/heads/production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Has been cancelled
End to end tests (examples) / End to end tests (examples) (push) Has been cancelled
Publish SDK packages / Publish SDK packages (push) Has been cancelled
Publish SDK packages / Tell user released version (push) Has been cancelled
Publish SDK packages / Publishes code templates to separate repositories (push) Has been cancelled
Publish SDK packages / Deploys the template demos with the new SDK version (push) Has been cancelled
snapshot of https://github.com/tldraw/tldraw.git (main, 2026-09-23; blobs > 131072B omitted)
2026-09-23 16:12:52 +05:00

48 lines
1.7 KiB
TypeScript

import { USERS } from '../../consts'
import { expect, test } from '../../fixtures/tla-test'
// Don't use stored credentials
test.use({ storageState: { cookies: [], origins: [] } })
test('can login', async ({ homePage, editor }) => {
await expect(homePage.signInButton).toBeVisible()
const user = USERS[test.info().parallelIndex]
await homePage.loginAs(user)
await editor.isLoaded()
await expect(homePage.signInButton).not.toBeVisible()
await expect(editor.sidebarToggle).toBeVisible()
})
test('can sign out', async ({ homePage, editor, sidebar }) => {
await test.step('Login', async () => {
const user = USERS[test.info().parallelIndex]
await homePage.loginAs(user)
})
await editor.isLoaded()
await homePage.expectSignInButtonNotVisible()
await editor.ensureSidebarOpen()
await sidebar.signOut()
await homePage.expectSignInButtonVisible()
})
test('shows anonymous SDK content', async ({ page, homePage }) => {
await homePage.expectSignInButtonVisible()
await expect(page.getByTestId('tla-anon-dotdev-link')).toBeVisible()
await page.getByTestId('tla-anon-dotdev-dismiss-button').click()
await expect(page.getByTestId('tla-anon-dotdev-link')).not.toBeVisible()
})
test('shows a comment button that prompts sign in', async ({ page, homePage, signInDialog }) => {
await homePage.expectSignInButtonVisible()
const commentButton = page.getByTestId('quick-actions.comment')
await expect(commentButton).toBeVisible()
await commentButton.click()
await signInDialog.expectInitialElements()
// The comment tool itself is never registered for signed-out visitors, so the button only opens
// the dialog — it can't drop the canvas into a half-mounted tool.
await expect(commentButton).toHaveAttribute('aria-pressed', 'false')
})