import { beforeEach, test, vi } from 'vitest' import { commands, page } from 'vitest/browser' beforeEach(() => { document.body.innerHTML = '' }) test('locator.mark', async () => { document.body.innerHTML = '' await page.getByRole('button').mark('button rendered - locator') }) test('page.mark', async () => { document.body.innerHTML = '' await page.mark('button rendered - page') }) const myRender = vi.defineHelper(async (content: string) => { document.body.innerHTML = content await page.elementLocator(document.body.firstElementChild!).mark('render helper') }) test('helper', async () => { await myRender('') }) test('stack', async () => { document.body.innerHTML = '' const error = new Error('Custom error for stack trace') await page.getByRole('button').mark('button rendered - stack', { stack: error.stack }) }) test('mark function', async () => { await page.mark('render group', async () => { document.body.innerHTML = '' }) }) test('kind', async () => { document.body.innerHTML = '' await page.mark('action marker', { kind: 'action' }) await page.mark('expect marker', { kind: 'expect' }) await page.mark('lifecycle group', { kind: 'lifecycle' }) await page.mark('lifecycle group', { kind: 'mark' }) }) test('custom command', async () => { document.body.innerHTML = 'UI on client side before server side creates mark' await (commands as any).markFromServer('from server command', 'action') document.body.innerHTML = 'UI on client side after server side creates mark' }) test('mark function fail', async () => { await page.mark('failed render group', async () => { document.body.innerHTML = '' throw new Error('Mark failure') }) })