diff --git a/.planning/phases/03-note-history-display/03-UAT.md b/.planning/phases/03-note-history-display/03-UAT.md new file mode 100644 index 0000000..f57b045 --- /dev/null +++ b/.planning/phases/03-note-history-display/03-UAT.md @@ -0,0 +1,53 @@ +--- +status: complete +phase: 03-note-history-display +source: 03-01-SUMMARY.md +started: 2026-02-13T14:58:00Z +updated: 2026-02-13T15:02:00Z +--- + +## Current Test + +[testing complete] + +## Tests + +### 1. Expand note history panel +expected: Click a member's note count badge (the blue number). An inline panel should expand below that member's row with a smooth animation, showing a loading spinner briefly, then displaying notes. +result: pass + +### 2. Notes display order and formatting +expected: Notes in the expanded panel appear newest first. Each note shows: content text, author name, and a formatted datetime like "2026年02月13日 14:30". A blue left border accent separates each note. +result: pass + +### 3. Empty state for member with no notes +expected: Click the badge of a member who has zero notes. Panel expands and shows "尚無備註" text. No search input should appear. +result: pass + +### 4. Search filtering by content or author +expected: With the history panel open (for a member with multiple notes), type text in the search input ("搜尋備忘錄內容或作者..."). Notes filter in real-time as you type — matching by note content or author name (case-insensitive). +result: pass + +### 5. Search no results state +expected: Type a search query that matches no notes. The notes list is replaced with "找不到符合的備忘錄" text. +result: pass + +### 6. Collapse panel and reset search +expected: With search text entered, click the badge again. Panel collapses smoothly. Re-open the panel — the search input should be empty (reset). +result: pass + +### 7. Cache sync after adding note +expected: Open a member's history panel to see existing notes. Then use the pencil icon to add a new note via the inline form. After submitting, the new note should appear at the top of the history panel immediately — no page refresh or re-clicking the badge needed. +result: pass + +## Summary + +total: 7 +passed: 7 +issues: 0 +pending: 0 +skipped: 0 + +## Gaps + +[none] diff --git a/resources/views/admin/members/index.blade.php b/resources/views/admin/members/index.blade.php index 0f35e49..3dce4b1 100644 --- a/resources/views/admin/members/index.blade.php +++ b/resources/views/admin/members/index.blade.php @@ -191,9 +191,8 @@ - @forelse ($members as $member) - + @empty + 找不到會員。 + @endforelse - diff --git a/tests/Feature/Admin/MemberNoteTest.php b/tests/Feature/Admin/MemberNoteTest.php index 075fafb..7c7c921 100644 --- a/tests/Feature/Admin/MemberNoteTest.php +++ b/tests/Feature/Admin/MemberNoteTest.php @@ -256,7 +256,7 @@ class MemberNoteTest extends TestCase $response->assertStatus(200); $response->assertSee('toggleHistory', false); $response->assertSee('historyOpen', false); - $response->assertSee('x-collapse', false); + $response->assertSee('x-transition:enter', false); $response->assertSee('searchQuery', false); $response->assertSee('filteredNotes', false); $response->assertSee('尚無備註', false);