Skip to content

Add label validation coverage for CardService#4

Merged
Chris0Jeky merged 1 commit intoclaude/audit-test-document-01FVRQNGUUagCKnSbma6WsXZfrom
codex/review-and-modify-application-layer-tests
Nov 18, 2025
Merged

Add label validation coverage for CardService#4
Chris0Jeky merged 1 commit intoclaude/audit-test-document-01FVRQNGUUagCKnSbma6WsXZfrom
codex/review-and-modify-application-layer-tests

Conversation

@Chris0Jeky
Copy link
Copy Markdown
Owner

Summary

  • add tests to ensure card creation ignores labels not belonging to the board
  • add coverage for card update to keep only board labels when replacing labels

Testing

  • dotnet test (fails: dotnet CLI not available in environment)

Codex Task

@Chris0Jeky Chris0Jeky merged commit 31350cb into claude/audit-test-document-01FVRQNGUUagCKnSbma6WsXZ Nov 18, 2025
@Chris0Jeky Chris0Jeky deleted the codex/review-and-modify-application-layer-tests branch November 18, 2025 03:44
Chris0Jeky added a commit that referenced this pull request Feb 16, 2026
…tion-layer-tests

Add label validation coverage for CardService
Chris0Jeky added a commit that referenced this pull request Mar 29, 2026
…lean up tests

- Use finally block to always reset lifecycleActionInProgress (Major #1)
- Fix misleading "single assignment" comment in boardCrudStore (Minor #5)
- Remove redundant test with no meaningful assertions (Minor #3)
- Rename resolveDelete to resolvePush for clarity (Minor #4)
Chris0Jeky added a commit that referenced this pull request Mar 29, 2026
* Fix archive board freeze by navigating before clearing state

Navigate to /boards before calling boardStore.deleteBoard so the
BoardView is unmounted and its reactive subscriptions (sortedColumns,
cardsByColumn, filter computeds) are torn down before the sequential
state mutations fire.  This eliminates the ~30-second browser freeze
caused by cascading re-renders while the view was still mounted.

Add loading state to the lifecycle action button to provide immediate
feedback and prevent double-clicks.

Fixes #519

* Clear board detail state before filtering boards list in deleteBoard

Reorder state mutations in deleteBoard so detail refs (currentBoard,
cards, labels, comments, presence) are cleared before the boards array
is filtered.  This prevents downstream watchers on `boards` from
reading stale detail state during the reactive flush.

* Add tests for archive navigation order and loading state

Verify that router.push fires before boardStore.deleteBoard to prevent
reactive cascade freeze.  Add tests for the disabled/loading button
label during the archive action.

* Address review findings: use finally block, fix misleading comment, clean up tests

- Use finally block to always reset lifecycleActionInProgress (Major #1)
- Fix misleading "single assignment" comment in boardCrudStore (Minor #5)
- Remove redundant test with no meaningful assertions (Minor #3)
- Rename resolveDelete to resolvePush for clarity (Minor #4)
Chris0Jeky added a commit that referenced this pull request Apr 9, 2026
TryConsumeAtomicAsync now includes ExpiresAt > now in the WHERE clause
to close the TOCTOU race window between application-level expiry check
and SQL execution.

DeleteExpiredAsync now uses raw SQL instead of loading all rows into
memory (DoS prevention). Also deletes consumed codes to prevent
unbounded table growth.

Uses EF Core SQLite DateTimeOffset format for correct string comparison.

Addresses findings #2 (CRITICAL), #4 (HIGH), #6 (HIGH), #13 (LOW).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant