feat: publish HoloLake model-native living system source
This commit is contained in:
parent
6ad10edde1
commit
c395dd3a99
2467 changed files with 615073 additions and 0 deletions
94
product-source/hololake-platform/e2e/screenshot.spec.ts
Normal file
94
product-source/hololake-platform/e2e/screenshot.spec.ts
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
import { test } from '@playwright/test'
|
||||
|
||||
test('capture app screenshot for review', async ({ page }) => {
|
||||
await page.goto('/')
|
||||
// Wait for mock data to load
|
||||
await page.waitForTimeout(500)
|
||||
await page.screenshot({ path: 'test-results/app-screenshot.png', fullPage: true })
|
||||
})
|
||||
|
||||
test('capture editor with note selected', async ({ page }) => {
|
||||
await page.goto('/')
|
||||
await page.waitForTimeout(500)
|
||||
|
||||
// Click the first note in the list
|
||||
await page.click('.note-list__item')
|
||||
await page.waitForTimeout(300)
|
||||
|
||||
await page.screenshot({ path: 'test-results/editor-screenshot.png', fullPage: true })
|
||||
})
|
||||
|
||||
test('live preview: headings styled, syntax hidden', async ({ page }) => {
|
||||
await page.goto('/')
|
||||
await page.waitForTimeout(500)
|
||||
|
||||
// Click a note to load it
|
||||
await page.click('.note-list__item')
|
||||
await page.waitForTimeout(500)
|
||||
|
||||
// Screenshot showing live preview (headings styled, syntax hidden)
|
||||
await page.screenshot({ path: 'test-results/live-preview.png', fullPage: true })
|
||||
})
|
||||
|
||||
test('tab bar: multiple tabs open and close', async ({ page }) => {
|
||||
await page.goto('/')
|
||||
await page.waitForTimeout(500)
|
||||
|
||||
// Click first note
|
||||
await page.click('.note-list__item')
|
||||
await page.waitForTimeout(500)
|
||||
|
||||
// Debug: screenshot after first click
|
||||
await page.screenshot({ path: 'test-results/tabs-debug-1.png', fullPage: true })
|
||||
|
||||
// Check if other items are visible
|
||||
const items = await page.locator('.note-list__item').count()
|
||||
console.log(`Note list items visible after first click: ${items}`)
|
||||
|
||||
// Click second item if available
|
||||
if (items >= 2) {
|
||||
await page.locator('.note-list__item').nth(1).click({ timeout: 5000 })
|
||||
await page.waitForTimeout(500)
|
||||
}
|
||||
|
||||
if (items >= 3) {
|
||||
await page.locator('.note-list__item').nth(2).click({ timeout: 5000 })
|
||||
await page.waitForTimeout(500)
|
||||
}
|
||||
|
||||
await page.screenshot({ path: 'test-results/tabs-screenshot.png', fullPage: true })
|
||||
})
|
||||
|
||||
test('frontmatter hidden from editor view', async ({ page }) => {
|
||||
await page.goto('/')
|
||||
await page.waitForTimeout(500)
|
||||
|
||||
// Click a note that has frontmatter
|
||||
await page.click('.note-list__item')
|
||||
await page.waitForTimeout(500)
|
||||
|
||||
// Frontmatter should be hidden — editor starts with content, not ---
|
||||
await page.screenshot({ path: 'test-results/frontmatter-hidden.png', fullPage: true })
|
||||
})
|
||||
|
||||
test('wikilinks: rendered as styled elements and clickable', async ({ page }) => {
|
||||
await page.goto('/')
|
||||
await page.waitForTimeout(500)
|
||||
|
||||
// Open "Manage Sponsorships" which contains [[Matteo Cellini]] wikilink
|
||||
await page.locator('.note-list__item', { hasText: 'Manage Sponsorships' }).click()
|
||||
await page.waitForTimeout(500)
|
||||
|
||||
// Screenshot showing wikilink rendered as styled text
|
||||
await page.screenshot({ path: 'test-results/wikilinks-styled.png', fullPage: true })
|
||||
|
||||
// Click the wikilink to navigate — use mouse.click to fire real mousedown
|
||||
const wikilink = page.locator('.cm-wikilink', { hasText: 'Matteo Cellini' })
|
||||
const box = await wikilink.boundingBox()
|
||||
if (box) {
|
||||
await page.mouse.click(box.x + box.width / 2, box.y + box.height / 2)
|
||||
await page.waitForTimeout(500)
|
||||
// Should now have a new tab for Matteo Cellini
|
||||
await page.screenshot({ path: 'test-results/wikilinks-navigated.png', fullPage: true })
|
||||
}
|
||||
})
|
||||
Loading…
Reference in a new issue