test(kb): cover top-ticket-driving-articles endpoint (PMS-485) #388

Closed
Claude-Run wants to merge 0 commits from test/PMS-485-top-ticket-driving-articles-endpoint into main
Member

The "Top ticket-driving articles" server endpoint (GET /api/v1/kb/top-ticket-driving-articles) shipped under PMS-485 but had no integration coverage. This adds an end-to-end test through the real router asserting AC #1: the endpoint returns [{ id, title, ticket_count }] ordered by descending count, scoped to the caller's tenant, with tickets that have a NULL source_kb_article_id or fall outside the recency window excluded. It also exercises the empty state (a fresh tenant returns []), the configurable days window (a 365-day window pulls an ancient ticket back into article B's count), and the limit cap.

The client-side acceptance criteria (the KBHomePage widget, article links, empty-state UI) live in the separate mokosh-apps SPA, not this server repo, so they are out of scope here.

#PMS-485

The "Top ticket-driving articles" server endpoint (GET /api/v1/kb/top-ticket-driving-articles) shipped under PMS-485 but had no integration coverage. This adds an end-to-end test through the real router asserting AC #1: the endpoint returns [{ id, title, ticket_count }] ordered by descending count, scoped to the caller's tenant, with tickets that have a NULL source_kb_article_id or fall outside the recency window excluded. It also exercises the empty state (a fresh tenant returns []), the configurable `days` window (a 365-day window pulls an ancient ticket back into article B's count), and the `limit` cap. The client-side acceptance criteria (the KBHomePage widget, article links, empty-state UI) live in the separate mokosh-apps SPA, not this server repo, so they are out of scope here. #PMS-485
test(kb): cover top-ticket-driving-articles endpoint (PMS-485)
Some checks failed
Check / fmt + clippy + build + tests (pull_request) Failing after 24s
E2E / Playwright against staging (pull_request) Successful in 1m19s
Integration / integration tests (pull_request) Successful in 8m38s
Create release / Gate (release-branch merges only) (pull_request) Successful in 3s
Create release / Create release from merged PR (pull_request) Has been skipped
ff94445d27
The "Top ticket-driving articles" server endpoint (GET /api/v1/kb/top-ticket-driving-articles) shipped under PMS-485 but had no integration coverage. This adds an end-to-end test through the real router asserting AC #1: the endpoint returns [{ id, title, ticket_count }] ordered by descending count, scoped to the caller's tenant, with tickets that have a NULL source_kb_article_id or fall outside the recency window excluded. It also exercises the empty state (a fresh tenant returns []), the configurable `days` window (a 365-day window pulls an ancient ticket back into article B's count), and the `limit` cap.

The client-side acceptance criteria (the KBHomePage widget, article links, empty-state UI) live in the separate mokosh-apps SPA, not this server repo, so they are out of scope here.

#PMS-485
vas2000-work closed this pull request 2026-06-28 02:05:36 +02:00
David deleted branch test/PMS-485-top-ticket-driving-articles-endpoint 2026-06-28 22:29:00 +02:00
Some checks failed
Check / fmt + clippy + build + tests (pull_request) Failing after 24s
Required
Details
E2E / Playwright against staging (pull_request) Successful in 1m19s
Required
Details
Integration / integration tests (pull_request) Successful in 8m38s
Create release / Gate (release-branch merges only) (pull_request) Successful in 3s
Create release / Create release from merged PR (pull_request) Has been skipped

Pull request closed

Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
psa-systems/mokosh-server!388
No description provided.