Commit Graph

346 Commits

Author SHA1 Message Date
LittleYellow
1c977f9266 feat: add LDAP authentication settings and toggle
Add an admin-only LDAP configuration UI with an enable toggle and full
sign-in integration.

Backend:
- ldapSettings model + migration (single-row config)
- GET/PUT/test routes under /ldap (admin-gated; bind password masked)
- shared ldapClient with RFC 4515 filter escaping and empty-password guard
- signin tries local auth first, then LDAP when enabled (find-or-create
  local user) so the bootstrap admin is never locked out

Frontend:
- LDAP settings page (Switch + form + test connection) under /admin/ldap
- AdminNav tabs between user management and LDAP
- ldapControl util, types, and Ldap i18n namespace for all 6 locales

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 07:20:08 +08:00
LittleYellow
02fa631f02 feat: upload test record attachments per run case
Allow testers to attach evidence files to a single test case within a
specific test run, proving the test was actually executed. Attachments
are scoped to the RunCase (per-execution), not the shared case definition.

Backend:
- runCaseAttachments join table + model (CASCADE on runCase/attachment)
- POST/GET /runcaseattachments routes (reuse /attachments download+delete)

Frontend:
- new "Test record" tab in the run case detail pane with drag-and-drop
  upload, scoped to reporters; i18n for all 6 locales

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 07:01:44 +08:00
LittleYellow
55e78875ae feat: support JSON import for test cases and add Traditional Chinese locale
Some checks failed
UnitTCMS CI / unittcms-test (push) Has been cancelled
JSON import lets users round-trip cases exported via the JSON download
endpoint back into a folder, alongside the existing Excel import path.
2026-06-16 21:35:05 +08:00
kimatata
4dcff48792 chore: release (#410) 2026-03-08 14:19:11 +09:00
Copilot
4cafcaeedc fix: spurious unsaved-changes warning when navigating between test cases in a test run (#406)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: kimatata <117462761+kimatata@users.noreply.github.com>
2026-03-08 14:13:18 +09:00
Han Sen
93e66d0122 fix: Step case overwriting prevention by hypothetical ID (#396) 2026-03-03 14:31:59 +09:00
CY
a065c1800f feat: Move language option to profile setting (#387) 2026-02-26 23:51:12 +09:00
kimatata
9a5f0a602a chore: release (#393) 2026-02-23 12:29:29 +09:00
kimatata
a9674c81ab feat: comment to test run's case (#390) 2026-02-23 12:26:07 +09:00
CY
1f4ac0ae7b fix: Test case selector overflow (#385) 2026-01-31 12:12:12 +09:00
CY
fe8983e212 feat: Folder column size adjustment (#384) 2026-01-29 08:53:24 +09:00
kimatata
34135209d9 feat: Test run detail pane (#381) 2026-01-12 23:27:34 +09:00
kimatata
ab348fc4e5 feat: name export file with meaningful title instead of id (#379) 2026-01-10 19:31:47 +09:00
kimatata
475fa1ced7 feat: display tags in test run page (#378) 2026-01-10 18:17:07 +09:00
kimatata
6e7edb52ed chore: update version (#371) 2025-12-14 19:41:16 +09:00
kimatata
0d87d0fa28 chore: language order (#370) 2025-12-14 19:39:55 +09:00
kimatata
61af4825c6 feat: add support for German language (de) (#369)
Co-authored-by: Erik Berkemeyer <WRDoll770@users.noreply.github.com>
2025-12-14 12:14:38 +09:00
dream10201
1f45867eb5 feat: add support for Chinese language (zh-CN) (#365) 2025-12-10 20:07:18 +09:00
kimatata
8eecbce3c2 chore: update version (#361) 2025-12-07 20:39:07 +09:00
kimatata
2adb24dbaa feat: password reset by admin (#360) 2025-12-07 20:37:38 +09:00
kimatata
805c1f50b6 feat: Add filter on test run page (#358) 2025-12-07 13:26:14 +09:00
Matheus Santana
a2fea7a127 feat: add folder on export and handle steps on import (#352) 2025-11-29 15:00:43 +09:00
Mucahit Bilal GOKER
92d6340ddc feat: bulk test case creation (#346) 2025-11-27 22:13:04 +09:00
kimatata
dc9c2860d2 chore: update version (#342) 2025-11-22 10:39:46 +09:00
kimatata
b986f39c42 feat: import test cases UI using Excel (#339) 2025-11-22 10:32:18 +09:00
Matheus Santana
7db464e28b feat: added logic to search test cases by title and description (#337) 2025-11-15 18:21:30 +09:00
kimatata
a20ed5d133 chore: update version (#331) 2025-11-09 11:16:59 +09:00
kimatata
e3266d74aa chore: add test to check locale message keys consistency (#329) 2025-11-09 10:58:01 +09:00
kimatata
e5c076161b chore: adds toast notification on members settings (#327) 2025-11-09 10:45:44 +09:00
kimatata
ce1dc0be07 chore: set toast color (#326) 2025-11-08 23:29:22 +09:00
Eliezer Castro
12b5a1babe feat: tag filtering functionality for test cases (#324) 2025-11-08 22:30:50 +09:00
Matheus Santana
0575c928e8 fix: test runs can be managed separately (#321) 2025-11-02 22:57:32 +09:00
Eliezer Castro
3fd226bdbd feat(tags): Test case tag editing UI and tag settings UI (#322) 2025-11-02 16:52:15 +09:00
kimatata
883915f863 chore: update version (#318) 2025-10-26 19:43:43 +09:00
kimatata
c934d2a9ec chore: eslint tuning (#316) 2025-10-26 19:35:21 +09:00
Copilot
7922996845 feat: user profile customization: username, password, and avatar (#315) 2025-10-26 19:06:25 +09:00
kimatata
82f5e38794 chore: update version (#303) 2025-10-19 17:10:52 +09:00
kimatata
7c1dfd49b9 Clone test cases UI (#302) 2025-10-19 17:09:09 +09:00
kimatata
60de3b2a3c fix: saving a test case does not update the local step edit state (#298) 2025-10-11 22:35:40 +09:00
kimatata
6d63d0cd57 fix: test case move message not displayed on Portuguese (#293) 2025-10-05 17:06:39 +09:00
kimatata
4e303f8885 chore: update version (#292) 2025-10-05 16:51:15 +09:00
kimatata
b87ce0c3be feat: Test case movement (#290) 2025-10-05 16:42:06 +09:00
kimatata
9baab8471c chore: update version (#285) 2025-09-23 11:27:24 +09:00
kimatata
0a8cccfad4 chore: Include test case title query in filters to improve UI consistency (#284) 2025-09-23 11:22:14 +09:00
kimatata
81805c605a chore: Improve UI consistency (#283) 2025-09-19 21:02:09 +09:00
kimatata
a7882dd769 fix: eslint warnings (#278) 2025-08-30 23:38:07 +09:00
Eliezer Castro
f76a3cdaf5 feat: search test case (#277) 2025-08-30 23:26:46 +09:00
Eliezer Castro
afe569a79c feat: test case filtering (#276) 2025-08-25 00:15:39 +09:00
kimatata
da550c3024 chore: update version (#273)
Co-authored-by: kimatata <>
2025-08-10 13:04:30 +09:00
kimatata
905eda068f chore: sidebar design update on project page (#272) 2025-08-10 12:58:41 +09:00