UAT: Phase 2 Commands Testing #84

Closed
opened 2026-04-04 16:42:44 +02:00 by shoko · 0 comments
Owner

Objective

Validate Phase 2 features work correctly for real user workflows.

Scope

Phase 2 testing - Admin permissions, Soft delete, Pagination, Timezone, Link uniqueness, etc.

Test Commands

/bounty (pagination, sorting, filtering)

  • List bounties (default 5)
  • List with /bounty 10 (custom limit)
  • List with /bounty all (include expired >24h)
  • List with /bounty all 10 (combine flags)
  • Verify overdue <=24h still shown
  • Verify overdue >24h filtered (unless all)
  • Verify future bounties shown
  • Verify no-date bounties shown last
  • Verify sorting: dated by due date, undated by created_at

/show

  • Show bounty details by ID
  • Show non-existent bounty (error)
  • Verify shows: text, link, due date, creator, created_at
  • Add bounty as admin
  • Add bounty as non-admin (should fail)
  • Add with link - success
  • Add with same link as existing (should fail with error)
  • Add without link - success
  • Time parsing: /add text https://link.com april 15 14:30

/edit (per-argument, -field clearing)

  • Edit text only
  • Edit link only
  • Edit date only
  • Edit all at once
  • /edit 1 -link (clear link)
  • /edit 1 -date (clear date)
  • /edit 1 -link -date (clear both)
  • Edit as non-admin (should fail)
  • Edit link to duplicate (should fail)

/delete (soft delete, multi-ID)

  • Delete single bounty as admin
  • Delete multiple: /delete 1 2 3
  • Delete as non-admin (should fail)
  • Deleted bounty disappears from /bounty list

/recover (admin-only)

  • /recover - list recoverable bounties
  • /recover as non-admin (should fail)
  • /recover 1 - recover specific bounty
  • /recover 1 2 3 - recover multiple
  • /recover with non-deleted ID (should fail)
  • Recovered bounty appears in /bounty again

/admin (list, add, remove)

  • /admin - list admins (everyone can view)
  • /admin add @username as admin
  • /admin add @username as non-admin (should fail)
  • /admin remove @username as admin
  • /admin remove @username as non-admin (should fail)
  • Remove non-existent admin (should fail)
  • Add duplicate admin (should fail)

/timezone

  • /timezone - show current timezone
  • /timezone Asia/Jakarta as admin (set timezone)
  • /timezone UTC as non-admin (should fail)
  • Invalid timezone (should fail)

Permissions Matrix

Command Non-Admin Admin
/bounty, /show, /track, /untrack, /my
/add, /edit, /delete
/admin View , Modify
/timezone (get)
/timezone (set)
/recover

Notes

Report issues with: command, scenario, expected behavior, actual behavior

## Objective Validate Phase 2 features work correctly for real user workflows. ## Scope Phase 2 testing - Admin permissions, Soft delete, Pagination, Timezone, Link uniqueness, etc. ## Test Commands ### /bounty (pagination, sorting, filtering) - [x] List bounties (default 5) - [x] List with `/bounty 10` (custom limit) - [x] List with `/bounty all` (include expired >24h) - [x] List with `/bounty all 10` (combine flags) - [x] Verify overdue <=24h still shown - [x] Verify overdue >24h filtered (unless all) - [x] Verify future bounties shown - [x] Verify no-date bounties shown last - [x] Verify sorting: dated by due date, undated by created_at ### /show - [x] Show bounty details by ID - [x] Show non-existent bounty (error) - [x] Verify shows: text, link, due date, creator, created_at ### /add (admin-only + link uniqueness) - [x] Add bounty as admin - [x] Add bounty as non-admin (should fail) - [x] Add with link - success - [x] Add with same link as existing (should fail with error) - [x] Add without link - success - [x] Time parsing: `/add text https://link.com april 15 14:30` ### /edit (per-argument, -field clearing) - [x] Edit text only - [x] Edit link only - [x] Edit date only - [x] Edit all at once - [x] `/edit 1 -link` (clear link) - [x] `/edit 1 -date` (clear date) - [x] `/edit 1 -link -date` (clear both) - [x] Edit as non-admin (should fail) - [x] Edit link to duplicate (should fail) ### /delete (soft delete, multi-ID) - [x] Delete single bounty as admin - [x] Delete multiple: `/delete 1 2 3` - [x] Delete as non-admin (should fail) - [x] Deleted bounty disappears from /bounty list ### /recover (admin-only) - [x] `/recover` - list recoverable bounties - [x] `/recover` as non-admin (should fail) - [x] `/recover 1` - recover specific bounty - [x] `/recover 1 2 3` - recover multiple - [x] `/recover` with non-deleted ID (should fail) - [x] Recovered bounty appears in /bounty again ### /admin (list, add, remove) - [x] `/admin` - list admins (everyone can view) - [x] `/admin add @username` as admin - [x] `/admin add @username` as non-admin (should fail) - [x] `/admin remove @username` as admin - [x] `/admin remove @username` as non-admin (should fail) - [x] Remove non-existent admin (should fail) - [x] Add duplicate admin (should fail) ### /timezone - [x] `/timezone` - show current timezone - [x] `/timezone Asia/Jakarta` as admin (set timezone) - [x] `/timezone UTC` as non-admin (should fail) - [x] Invalid timezone (should fail) ## Permissions Matrix | Command | Non-Admin | Admin | |---------|-----------|-------| | /bounty, /show, /track, /untrack, /my | ✅ | ✅ | | /add, /edit, /delete | ❌ | ✅ | | /admin | View ✅, Modify ❌ | ✅ | | /timezone (get) | ✅ | ✅ | | /timezone (set) | ❌ | ✅ | | /recover | ❌ | ✅ | ## Notes Report issues with: command, scenario, expected behavior, actual behavior
shoko added this to the Phase 2 milestone 2026-04-04 16:42:44 +02:00
shoko added the phase-2 label 2026-04-04 16:42:44 +02:00
han was assigned by shoko 2026-04-04 16:42:44 +02:00
han closed this issue 2026-04-05 05:57:25 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: shoko/jigaido#84