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 @@