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
52 lines
1.2 KiB
TypeScript
52 lines
1.2 KiB
TypeScript
import type { Page } from '@playwright/test'
|
|
import { step } from './tla-test'
|
|
|
|
export const IMPORT_URL = 'https://e2e-mock.tldraw.xyz/test-import.tldr'
|
|
|
|
// Sequences match the current record versions so no migrations run on import,
|
|
// which would otherwise overwrite fields (e.g. AddName sets name='').
|
|
const MINIMAL_TLDR_FILE = {
|
|
tldrawFileFormatVersion: 1,
|
|
schema: {
|
|
schemaVersion: 2,
|
|
sequences: { 'com.tldraw.document': 2, 'com.tldraw.page': 1 } as Record<string, number>,
|
|
},
|
|
records: [
|
|
{
|
|
typeName: 'document',
|
|
id: 'document:document',
|
|
name: 'e2e import test',
|
|
gridSize: 10,
|
|
meta: {},
|
|
},
|
|
{
|
|
typeName: 'page',
|
|
id: 'page:page',
|
|
index: 'a1',
|
|
meta: {},
|
|
name: 'Page 1',
|
|
},
|
|
],
|
|
}
|
|
|
|
export class ImportHelper {
|
|
constructor(private readonly page: Page) {}
|
|
|
|
@step
|
|
async mockUrl(url = IMPORT_URL) {
|
|
await this.page.route(url, (route) =>
|
|
route.fulfill({
|
|
status: 200,
|
|
contentType: 'application/json',
|
|
headers: { 'Access-Control-Allow-Origin': '*' },
|
|
body: JSON.stringify(MINIMAL_TLDR_FILE),
|
|
})
|
|
)
|
|
}
|
|
|
|
@step
|
|
async navigate(url = IMPORT_URL) {
|
|
await this.page.goto(`http://localhost:3000/import?url=${encodeURIComponent(url)}`)
|
|
}
|
|
}
|