openpencil/tests/engine/figma/api/document/pages.test.ts
Danila Poyarkov aad26b535e test: move prefixed splits into domain folders
- Move newly split tests under explicit domain subfolders
- Update nested helper imports after the moves
- Add a lint guard against repeating existing sibling domains as filename prefixes
2026-05-06 14:27:21 +03:00

47 lines
1.3 KiB
TypeScript

import { describe, expect, test } from 'bun:test'
import { expectDefined } from '#tests/helpers/assert'
import { createAPI } from '../helpers'
describe('document & pages', () => {
test('root has pages as children', () => {
const api = createAPI()
expect(api.root.children.length).toBeGreaterThan(0)
expect(api.root.children[0].type).toBe('CANVAS')
})
test('currentPage is first page', () => {
const api = createAPI()
expect(api.currentPage.type).toBe('CANVAS')
expect(api.currentPage.name).toBe('Page 1')
})
test('createPage adds a new page', () => {
const api = createAPI()
const page = api.createPage()
expect(page.type).toBe('CANVAS')
expect(api.root.children.length).toBe(2)
})
test('currentPage can be switched', () => {
const api = createAPI()
const page2 = api.createPage()
page2.name = 'Page 2'
api.currentPage = page2
expect(api.currentPage.name).toBe('Page 2')
})
test('getNodeById returns proxy', () => {
const api = createAPI()
const frame = api.createFrame()
const found = api.getNodeById(frame.id)
expect(expectDefined(found, 'found frame').id).toBe(frame.id)
})
test('getNodeById returns null for unknown id', () => {
const api = createAPI()
expect(api.getNodeById('nonexistent')).toBeNull()
})
})