feat: site languages, setup and site URL settings

This commit is contained in:
Florian Sylvain committed 2026-11-01 22:13:02 +01:00
1 parent 0806733d5c
commit d9158025d4
106 files changed
+10184 -56

No files matched your search

@@ -0,0 +1,38 @@
import { afterEach, describe, expect, it, vi } from 'vitest'
import router from '@/router'
import { chooseMenuItem, mountDirectory, openRowMenu, unmountDirectory } from './directoryTestKit'
vi.mock('@/composables/useApi', async (importOriginal) => {
const actual = await importOriginal<typeof import('@/composables/useApi')>()
return { ...actual, useApi: vi.fn() }
})
afterEach(unmountDirectory)
function menuLabels() {
return Array.from(document.body.querySelectorAll('[role="menuitem"]')).map((item) =>
item.textContent?.trim(),
)
}
describe('Settings, Sites row actions for localization', () => {
it('offers Languages and Public URL on each site row', async () => {
await mountDirectory('sites', '/settings/sites')
await openRowMenu('Journal')
expect(menuLabels()).toEqual(
expect.arrayContaining(['Edit', 'Languages', 'Public URL', 'Delete…']),
)
})
it.each([
['Languages', '/settings/sites/journal/languages'],
['Public URL', '/settings/sites/journal/public-url'],
])('opens %s at %s', async (label, target) => {
await mountDirectory('sites', '/settings/sites')
await openRowMenu('Journal')
await chooseMenuItem(label)
await vi.waitFor(() => expect(router.currentRoute.value.path).toBe(target))
})
})