Backfill cards rendered, both backfill buttons enabled by default, no success banner before any action. Smoke-level coverage of the admin maintenance page. 5 tests covering basic render branches. Refs #496. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
50 lines
1.5 KiB
TypeScript
50 lines
1.5 KiB
TypeScript
import { describe, it, expect, afterEach } from 'vitest';
|
|
import { cleanup, render } from 'vitest-browser-svelte';
|
|
import { page } from 'vitest/browser';
|
|
import AdminSystemPage from './+page.svelte';
|
|
|
|
afterEach(cleanup);
|
|
|
|
describe('admin/system page', () => {
|
|
it('renders the backfill versions card', async () => {
|
|
render(AdminSystemPage, { props: {} });
|
|
|
|
await expect
|
|
.element(page.getByRole('heading', { name: /verlaufsdaten auffüllen/i }))
|
|
.toBeVisible();
|
|
});
|
|
|
|
it('renders the backfill versions button enabled by default', async () => {
|
|
render(AdminSystemPage, { props: {} });
|
|
|
|
const btn = (await page
|
|
.getByRole('button', { name: /jetzt auffüllen/i })
|
|
.element()) as HTMLButtonElement;
|
|
expect(btn.disabled).toBe(false);
|
|
});
|
|
|
|
it('renders the backfill file-hashes card', async () => {
|
|
render(AdminSystemPage, { props: {} });
|
|
|
|
await expect
|
|
.element(page.getByRole('heading', { name: /datei-hashes berechnen/i }))
|
|
.toBeVisible();
|
|
});
|
|
|
|
it('renders the backfill file-hashes button enabled by default', async () => {
|
|
render(AdminSystemPage, { props: {} });
|
|
|
|
const btn = (await page
|
|
.getByRole('button', { name: /datei-hashes berechnen/i })
|
|
.element()) as HTMLButtonElement;
|
|
expect(btn.disabled).toBe(false);
|
|
});
|
|
|
|
it('does not render the backfill success banner before any action', async () => {
|
|
render(AdminSystemPage, { props: {} });
|
|
|
|
const banners = document.querySelectorAll('.bg-green-50');
|
|
expect(banners.length).toBe(0);
|
|
});
|
|
});
|