- Test note count badge renders with correct count from withCount
- Test Alpine.js directives present in HTML (noteFormOpen, submitNote, x-model, :disabled)
- Test 備忘錄 column header renders
- Test zero-note members show 0 count
- Test correct note store route URL embedded for each member
All 5 tests pass. No regressions in 7 Phase 1 tests.
- AdminMemberController index() now includes withCount('notes')
- Created MemberNoteTest with 7 feature tests
- Tests cover: creation, retrieval, validation, audit logging, authorization, N+1 prevention, ordering
- All new tests passing (7/7)
- No regressions in existing test suite
Features:
- Implement two fee types: entrance fee and annual fee (both NT$1,000)
- Add 50% discount for disability certificate holders
- Add disability certificate upload in member profile
- Integrate disability verification into cashier approval workflow
- Add membership fee settings in system admin
Document permissions:
- Fix hard-coded role logic in Document model
- Use permission-based authorization instead of role checks
Additional features:
- Add announcements, general ledger, and trial balance modules
- Add income management and accounting entries
- Add comprehensive test suite with factories
- Update UI translations to Traditional Chinese
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>