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
|
|
@ -0,0 +1,65 @@
|
|||
import { test, expect } from '@playwright/test'
|
||||
import { sendShortcut } from './helpers'
|
||||
|
||||
async function openNoteViaQuickOpen(page: import('@playwright/test').Page, query: string) {
|
||||
await page.locator('body').click()
|
||||
await sendShortcut(page, 'p', ['Control'])
|
||||
const searchInput = page.locator('input[placeholder="Search notes..."]')
|
||||
await expect(searchInput).toBeVisible()
|
||||
await searchInput.fill(query)
|
||||
await page.waitForTimeout(500)
|
||||
await page.keyboard.press('Enter')
|
||||
await page.waitForTimeout(1000)
|
||||
}
|
||||
|
||||
test.describe('Dynamic wikilink relationship detection', () => {
|
||||
test.beforeEach(async ({ page }) => {
|
||||
await page.setViewportSize({ width: 1600, height: 900 })
|
||||
await page.goto('/')
|
||||
await page.waitForLoadState('networkidle')
|
||||
})
|
||||
|
||||
test('wikilink fields render as relationships, plain-text fields as properties', async ({ page }) => {
|
||||
// Open "Sponsorships" — has Has Measures/Has Procedures (custom wikilink arrays)
|
||||
// and Status: Open (plain text)
|
||||
await openNoteViaQuickOpen(page, 'Sponsorships')
|
||||
|
||||
// Wait for note to load — Status should render as editable property
|
||||
const statusProp = page.locator('[data-testid="editable-property"]').filter({ hasText: 'Status' })
|
||||
await expect(statusProp).toBeVisible({ timeout: 5000 })
|
||||
await expect(statusProp.getByText('Open')).toBeVisible()
|
||||
|
||||
// 'Has Measures' has wikilinks → should NOT be in Properties
|
||||
const measuresProp = page.locator('[data-testid="editable-property"]').filter({ hasText: 'Has Measures' })
|
||||
await expect(measuresProp).not.toBeVisible()
|
||||
|
||||
// 'Has Measures' should appear as a relationship label
|
||||
const measuresLabel = page.locator('span.font-mono-overline').filter({ hasText: 'Has Measures' })
|
||||
await expect(measuresLabel).toBeVisible()
|
||||
|
||||
// 'Has Procedures' has wikilinks → should be in Relationships
|
||||
const proceduresLabel = page.locator('span.font-mono-overline').filter({ hasText: 'Has Procedures' })
|
||||
await expect(proceduresLabel).toBeVisible()
|
||||
})
|
||||
|
||||
test('existing wikilink relationships still render correctly', async ({ page }) => {
|
||||
// Open "Start Laputa App Project" — has Belongs to: [[24q4]], Owner: [[person-luca-rossi]]
|
||||
await openNoteViaQuickOpen(page, 'Start Laputa App')
|
||||
|
||||
// Wait for note content to load
|
||||
const statusProp = page.locator('[data-testid="editable-property"]').first()
|
||||
await expect(statusProp).toBeVisible({ timeout: 5000 })
|
||||
|
||||
// 'Belongs to' has wikilink → should be in Relationships (not Properties)
|
||||
const belongsToProp = page.locator('[data-testid="editable-property"]').filter({ hasText: 'Belongs to' })
|
||||
await expect(belongsToProp).not.toBeVisible()
|
||||
|
||||
// 'Belongs to' should appear as a relationship label
|
||||
const belongsToLabel = page.locator('span.font-mono-overline').filter({ hasText: 'Belongs to' })
|
||||
await expect(belongsToLabel).toBeVisible()
|
||||
|
||||
// 'Owner' has wikilink → should be in Relationships
|
||||
const ownerProp = page.locator('[data-testid="editable-property"]').filter({ hasText: 'Owner' })
|
||||
await expect(ownerProp).not.toBeVisible()
|
||||
})
|
||||
})
|
||||
Loading…
Reference in a new issue