diff --git a/frontend/src/routes/(app)/household/staples/+page.svelte b/frontend/src/routes/(app)/household/staples/+page.svelte index 2dca2f2..6d896b8 100644 --- a/frontend/src/routes/(app)/household/staples/+page.svelte +++ b/frontend/src/routes/(app)/household/staples/+page.svelte @@ -45,12 +45,12 @@ {:else}
- {#if data.ctx === 'settings'} + {#if !isOnboarding} ← Einstellungen {/if}

Vorräte

- {#if data.ctx === 'settings'} + {#if !isOnboarding}

Änderungen werden automatisch gespeichert. Gilt ab der nächsten Einkaufsliste.

{/if}
diff --git a/frontend/src/routes/(app)/household/staples/page.test.ts b/frontend/src/routes/(app)/household/staples/page.test.ts index d4e6080..855954c 100644 --- a/frontend/src/routes/(app)/household/staples/page.test.ts +++ b/frontend/src/routes/(app)/household/staples/page.test.ts @@ -80,51 +80,31 @@ describe('staples page — settings context (no ctx)', () => { expect(screen.getByRole('heading', { name: /vorräte/i })).toBeInTheDocument(); }); - it('does not render back-link when ctx is null', () => { + it('renders back-link "← Einstellungen" when ctx is null (default settings view)', () => { render(Page, { props: { data: { categories: mockCategories, ctx: null } } }); - expect(screen.queryByRole('link', { name: /einstellungen/i })).not.toBeInTheDocument(); - }); -}); - -describe('staples page — ctx=settings (D3)', () => { - beforeEach(() => { - vi.stubGlobal('fetch', vi.fn().mockResolvedValue({ ok: true })); - }); - - afterEach(() => { - vi.unstubAllGlobals(); - }); - - it('renders back-link "← Einstellungen" when ctx=settings', () => { - render(Page, { props: { data: { categories: mockCategories, ctx: 'settings' } } }); const backLink = screen.getByRole('link', { name: /← einstellungen/i }); expect(backLink).toBeInTheDocument(); }); it('back-link points to /settings', () => { - render(Page, { props: { data: { categories: mockCategories, ctx: 'settings' } } }); + render(Page, { props: { data: { categories: mockCategories, ctx: null } } }); const backLink = screen.getByRole('link', { name: /← einstellungen/i }); expect(backLink).toHaveAttribute('href', '/settings'); }); it('renders hint text about autosave', () => { - render(Page, { props: { data: { categories: mockCategories, ctx: 'settings' } } }); + render(Page, { props: { data: { categories: mockCategories, ctx: null } } }); expect(screen.getByText(/änderungen werden automatisch gespeichert/i)).toBeInTheDocument(); }); it('renders hint text about next shopping list', () => { - render(Page, { props: { data: { categories: mockCategories, ctx: 'settings' } } }); + render(Page, { props: { data: { categories: mockCategories, ctx: null } } }); expect(screen.getByText(/gilt ab der nächsten einkaufsliste/i)).toBeInTheDocument(); }); -}); -describe('staples page — hint text absent in onboarding', () => { - beforeEach(() => { - vi.stubGlobal('fetch', vi.fn().mockResolvedValue({ ok: true })); - }); - - afterEach(() => { - vi.unstubAllGlobals(); + it('does not render back-link in onboarding context', () => { + render(Page, { props: { data: { categories: mockCategories, ctx: 'onboarding' } } }); + expect(screen.queryByRole('link', { name: /einstellungen/i })).not.toBeInTheDocument(); }); it('does not render hint text in onboarding context', () => { diff --git a/frontend/src/routes/(app)/settings/+page.svelte b/frontend/src/routes/(app)/settings/+page.svelte index 637a066..cc27ca9 100644 --- a/frontend/src/routes/(app)/settings/+page.svelte +++ b/frontend/src/routes/(app)/settings/+page.svelte @@ -18,7 +18,7 @@
Vorräte diff --git a/frontend/src/routes/(app)/settings/page.test.ts b/frontend/src/routes/(app)/settings/page.test.ts index c54d313..22612e1 100644 --- a/frontend/src/routes/(app)/settings/page.test.ts +++ b/frontend/src/routes/(app)/settings/page.test.ts @@ -17,10 +17,10 @@ describe('settings page — hub', () => { expect(screen.getByRole('heading', { name: /einstellungen/i })).toBeInTheDocument(); }); - it('renders Vorräte card linking to /household/staples?ctx=settings', () => { + it('renders Vorräte card linking to /household/staples', () => { render(Page, { props: { data: makeData() } }); const links = screen.getAllByRole('link'); - const vorrateLink = links.find((l) => l.getAttribute('href') === '/household/staples?ctx=settings'); + const vorrateLink = links.find((l) => l.getAttribute('href') === '/household/staples'); expect(vorrateLink).toBeInTheDocument(); });