55 lines
1.4 KiB
TypeScript
55 lines
1.4 KiB
TypeScript
import fs from 'fs'
|
|
import path from 'path'
|
|
import { test, expect } from '@playwright/test'
|
|
import {
|
|
createFixtureVaultCopy,
|
|
openFixtureVault,
|
|
removeFixtureVaultCopy,
|
|
} from '../helpers/fixtureVault'
|
|
import { openCommandPalette } from './helpers'
|
|
|
|
let tempVaultDir: string
|
|
|
|
function seedExplicitJournalTypeVault(vaultPath: string): void {
|
|
fs.writeFileSync(path.join(vaultPath, 'journal.md'), `---
|
|
type: Type
|
|
order: 12
|
|
icon: book-bookmark
|
|
color: yellow
|
|
---
|
|
|
|
# Journal
|
|
`)
|
|
|
|
fs.writeFileSync(path.join(vaultPath, 'daily-log.md'), `---
|
|
title: Daily Log
|
|
type: Journal
|
|
---
|
|
|
|
# Daily Log
|
|
`)
|
|
}
|
|
|
|
test.describe('explicit Journal type stays visible across navigation surfaces', () => {
|
|
test.beforeEach(() => {
|
|
tempVaultDir = createFixtureVaultCopy()
|
|
seedExplicitJournalTypeVault(tempVaultDir)
|
|
})
|
|
|
|
test.afterEach(() => {
|
|
removeFixtureVaultCopy(tempVaultDir)
|
|
})
|
|
|
|
test('explicit Journal type appears in the sidebar and command palette', async ({ page }) => {
|
|
await openFixtureVault(page, tempVaultDir)
|
|
|
|
await expect(page.locator('nav').getByText('Journals', { exact: true })).toBeVisible()
|
|
|
|
await openCommandPalette(page)
|
|
await page.locator('input[placeholder="Type a command..."]').fill('journal')
|
|
|
|
await expect(page.getByText('List Journals', { exact: true })).toBeVisible()
|
|
await expect(page.getByText('New Journal', { exact: true })).toBeVisible()
|
|
})
|
|
})
|