Skip to content

[Sprint 19] Polish category UX, test naming, and documentation #341

Description

@mpaulosky

Follow-up from PR #340 Aragorn gate. Copilot review surfaced minor UX/polish items that did not block merge but should be addressed:

UI semantics (Legolas)

  • src/Web/Features/BlogPosts/Create/Create.razor (~L46, L114) and src/Web/Features/BlogPosts/Edit/Edit.razor (~L74, L117): The Category field shows a required asterisk and the submit guard blocks any save (including draft) whenever categories exist, but the helper copy says categories are needed before publishing. Either:
    • Make CategoryId required only when IsPublished == true, or
    • Update the copy + asterisk so the requirement is unconditional.
  • Create.razor / Edit.razor: If GetCategoriesQuery fails, _categories stays empty silently and posts can be saved with CategoryId = null despite the UI marking it required. Surface load failures via _error and/or block submit until categories load.
  • src/Web/Features/Categories/List/Index.razor (~L138): LoadAsync does not clear _error on success and does not reset _categories on failure; can leave stale UI state. Clear _error on success and set _categories = [] on failure.

Naming / docs (low priority)

  • tests/Web.Tests/Features/Categories/Commands/UpdateCategoryCommandValidatorTests.cs actually tests EditCategoryCommandValidator — rename file/class/namespace to Edit* for consistency.
  • src/AppHost/MongoDbResourceBuilderExtensions.cs (~L292): seed log says "inserted" but is now an upsert; change wording to "upserted" / "inserted/updated".
  • .squad/skills/gh-pr-comments-fallback/SKILL.md (~L15, L36): grammar — "due to" not "due".
  • .squad/agents/legolas/history.md (~L946): placeholder date 2025-07-XX; correct to actual date.

Source

PR #340 Copilot automated review — full thread on the PR.

Suggested routing

  • UI items → Legolas
  • Test rename → Gimli
  • AppHost log wording → Sam
  • .squad/ doc/grammar fixes → Frodo

Metadata

Metadata

Assignees

No one assigned

    Labels

    squad:frodoAssigned to Frodo (Tech Writer)squad:gimliAssigned to Gimli (Tester)squad:legolasAssigned to Legolas (Frontend / Blazor)squad:samAssigned to Sam (Backend / .NET)

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions