refactor(admin-tags): migrate tag-edit page from $app/stores to $app/state
The legacy $app/stores subscription API is replaced with the modern $app/state reactive proxy (page.url.pathname), per ADR-012's architectural follow-on. The two spec mocks of $app/stores are replaced with sync-factory $app/state mocks, matching the existing convention in aktivitaeten/documents specs. Part of #560. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
<script lang="ts">
|
||||
import { enhance } from '$app/forms';
|
||||
import { replaceState } from '$app/navigation';
|
||||
import { page } from '$app/stores';
|
||||
import { page } from '$app/state';
|
||||
import { m } from '$lib/paraglide/messages.js';
|
||||
import { createUnsavedWarning } from '$lib/shared/hooks/useUnsavedWarning.svelte';
|
||||
import UnsavedWarningBanner from '$lib/shared/primitives/UnsavedWarningBanner.svelte';
|
||||
@@ -44,7 +44,7 @@ $effect(() => {
|
||||
|
||||
$effect(() => {
|
||||
if (data.mergeSuccess) {
|
||||
replaceState($page.url.pathname, {});
|
||||
replaceState(page.url.pathname, {});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -10,12 +10,9 @@ vi.mock('$app/navigation', () => ({
|
||||
goto: vi.fn(),
|
||||
replaceState: vi.fn()
|
||||
}));
|
||||
vi.mock('$app/stores', () => ({
|
||||
page: {
|
||||
subscribe: (fn: (v: { url: URL }) => void) => {
|
||||
fn({ url: new URL('http://localhost/admin/tags/t1') });
|
||||
return () => {};
|
||||
}
|
||||
vi.mock('$app/state', () => ({
|
||||
get page() {
|
||||
return { url: new URL('http://localhost/admin/tags/t1') };
|
||||
}
|
||||
}));
|
||||
|
||||
|
||||
@@ -2,14 +2,11 @@ import { describe, it, expect, vi, afterEach } from 'vitest';
|
||||
import { cleanup, render } from 'vitest-browser-svelte';
|
||||
import { page } from 'vitest/browser';
|
||||
|
||||
const mockPage = { url: { pathname: '/admin/tags/t1' } };
|
||||
const mockPage = { url: new URL('http://localhost/admin/tags/t1') };
|
||||
|
||||
vi.mock('$app/stores', () => ({
|
||||
page: {
|
||||
subscribe: (fn: (v: typeof mockPage) => void) => {
|
||||
fn(mockPage);
|
||||
return () => {};
|
||||
}
|
||||
vi.mock('$app/state', () => ({
|
||||
get page() {
|
||||
return mockPage;
|
||||
}
|
||||
}));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user